[인프런 워밍업클럽 CS 2기] 1주차 발자국
이번주 공부 학습 내용
운영체제
폴링 방식: CPU가 입출력 관리자에게 명령을 내리고 주기적으로 상태를 확인하는 방식.
인터럽트: 폴링 단점을 해결. 입출력 완료 시 CPU에 알림을 주고 작업을 계속 진행.
하드웨어 인터럽트: 입출력 장치 (키보드, 마우스 등).
소프트웨어 인터럽트: 프로그램 오류 시 발생 (예: 0으로 나누기).
프로그램과 프로세스:
프로그램: 저장된 명령문의 집합.
프로세스: 실행 중인 프로그램.
멀티 프로그래밍: 메모리에 여러 프로세스를 올림.
멀티 프로세싱: CPU가 여러 프로세스를 처리.
PCB: 프로세스 정보를 저장. 생성, 준비, 실행, 대기, 완료 상태로 관리.
프로세스 상태:
준비: CPU를 기다리는 상태.
실행: CPU를 할당받은 상태.
대기: 입출력 요청 중인 상태.
완료: 프로세스 종료 상태.
컨텍스트 스위칭: 프로세스 간 전환 시 상태 저장 및 복구.
CPU 스케줄링 목표: 자원 사용률 극대화, 공평성, 처리량 최적화, 대기시간 감소.
자료구조와 알고리즘
자료구조: 데이터 구조와 사용 방식을 정의.
알고리즘: 문제 해결을 위한 확실한 방법.
배열: 읽기와 쓰기가 빠름 (O(1)).
연결 리스트: 중간 삽입, 삭제가 쉬움.
스택: FILO, 작업 되돌리기와 같은 기능.
큐: FIFO, 운영체제 스케줄링 등에 사용.
덱: 양쪽에서 삽입/제거 가능한 자료구조.
해시 테이블: 키-값 쌍 저장. 빠른 접근 (O(1)).
셋: 중복 허용하지 않음, 해시테이블 사용.
일주일 간의 학습 내용 대한 간단한 회고
일요일까지 목표 강의까지 완주 했다는것에 첫 번째로 만족하고, 바쁘다는 핑계나 귀찮다는 핑계로 평일 저녁이나 쉬는날에라도 학습을 하지않아서 주말에 몰아서 봤던거에 대한 반성을 하게 됩니다 ㅠㅠ
다음주부터는 미루지 않고 하루에 제공되는 챕터를 꾸준히 공부하는 방식으로 바꾸도록 노력 할겁니다!
댓글을 작성해보세요.