공부 기록
2023-02-27 공부 기록 - 운영체제(2)
HTT
2023. 2. 27. 21:07
오늘은 면접을 위한 CS 전공지식노트의 < 운영체제와 컴퓨터 > 챕터를 공부했다. 어제에 이어 간략하게 정리해볼 것이다.
프로세스와 스레드
프로세스(process)는 컴퓨터에서 실행되고 있는 프로그램을 말하며 CPU 스케줄링의 대상이 되는 작업(task)이라는 용어와 거의 같은 의미로 쓰인다. 스레드는 프로세스 내 작업의 흐름을 말한다.
1. 프로세스와 컴파일과정
① 전처리
② 컴파일러
③ 어셈블러
④ 링커
2. 프로세스의 상태
① 대기 상태
② 대기 중단 상태
③ 실행 상태
④ 중단 상태
⑤ 일시 중단 상태
⑥ 종료 상태
3. 프로세스의 메모리 구조
① 스택
② 힙
③ 데이터 영역
④ 코드 영역
4. PCB
: PCB(Process Control Block)는 운영체제에서 프로세스에 대한 메타데이터를 저장한 '데이터'를 말한다.
컨텍스트 스위칭(context switching)
: PCB를 교환하는 과정
5. 멀티프로세싱
① 웹 브라우저
② IPC
6. 스레드와 멀티스레딩
① 스레드 : 프로세스의 실행 가능한 가장 작은 단위
② 멀티스레딩 : 프로세스 내 작업을 여러 개의 스레드, 멀티스레드로 처리하는 기법
7. 공유 자원과 임계 영역
CPU 스케줄링 알고리즘
1. 비선점형 방식
① FCFS
② SJF
③ 우선순위
2. 선점형 방식
① 라운드 로빈
② SRF
③ 다단계 큐
면접을 위한 CS 전공지식노트