Process란
Page Table
- Virtual address를 physical address로 mapping
- 프로세스마다 page table을 갖고 있음
- 쓰는 이유?
Process Control Block(PCB)
- 사용 이유?
- 실행되었다가 멈춘 후 다시 실행하기 위한 정보들이 담겨져 있음
- Process가 init할 때 생성됨
- 얼마나 CPU에서 실행되었는 지에 대한 정보 등 여러 정보를 갖고 있음
Context Switch
-
CPU를 한 process에서 다른 process로 switching
-
상태를 바꾸는 것은 too expensive한 작업
- Direct costs
- load와 save 명령어에 대한 반복 수
- Indirect costs
- COLD cache: data access를 memory로 부터 해야하기 때문에 latency가 발생
- Cache misses
-
HOT cache가 가장 좋은 성능을 보이더라도 반드시 Context switch를 해줘야 함
우선 순위가 높은 다른 process가 실행되어야할 필요성이 존재함
Cold cache와 Hot cache란
Process Lifecycle
https://www.tutorialspoint.com/operating_system/os_processes.htm
Process Creation
- fork
- The parent PCB를 새로운 child PCB에 복사
- fork 실행 후 child는 명령어 실행을 이어감