오늘은 면접을 위한 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 전공지식노트
'공부 기록' 카테고리의 다른 글
2023-03-12 공부 기록 - 컬렉션프레임웍과 핵심 인터페이스 (0) | 2023.03.12 |
---|---|
2023-03-03 생일 겸 프로젝트 중간 점검 (0) | 2023.03.03 |
2023-02-26 공부 기록 - 운영체제(1) (0) | 2023.02.25 |
2023-02-21 공부기록 - 유닉스(UNIX)와 리눅스(RINUX) (0) | 2023.02.21 |
2023-02-20 공부 기록 - 성장 마인드셋(growth mindset)에 대하여 (0) | 2023.02.20 |
댓글