PCB: 운영체제가 프로세스를 관리하기 위해 유지하는 정보의 보관소. 가 정의이지만 걍 현재 프로세스 상태의 모든 정보를 다 기록해놓는 곳이라고 생각하면 된다.
이전 포스팅에서 언급했던 running, waiting 등의 프로세스 상태 process state 부터, program counter, CPU registers, memory limits 등 메모리 관리 관련 정보, list of open files(열린 file 정보), 프로세스에 할당된 I/O 장치 정보 등 I/O관련 정보가 이에 포함된다.
각 프로세스가 생성될 때마다 고유의 PCB가 생성되고, 프로세스가 완료되면 PCB는 제거된다.
프로세스 간의 CPU 교환인 Switch는 다음과 같은 순서로 진행된다.(여기서는 process p0, p1 간의 교환)
1. process p0가 실행을 시작한다. (p1은 idle(대기) 상태)
2. interrupt or system call 발생
----- 이때부터 p0은 Idle 상태로 전환된다. -----
3. save state into PCB0 : Process p0에 대한 PCB 저장
4. reload state from PCB1 : Process p1에 대한 PCB 읽음
5. p1 실행
6. interrupt or system call 발생
---- p1 idle 상태로 전환 -----
7. save state into PCB1 : Process p1에 대한 PCB 저장
8. reload state from PCB0 : Process p0에 대한 PCB 읽음
9. p0 실행
'OS' 카테고리의 다른 글
프로세스 스케줄링, 스케줄링 큐 (0) | 2020.08.02 |
---|---|
Threads (0) | 2020.08.02 |
프로세스(2) : 메모리에 저장된 프로세스, 프로세스의 상태 (0) | 2020.08.02 |
프로세스 (1): 정의, 프로그램과의 차이 (0) | 2020.08.02 |
시스템 호출의 유형: 프로세스 제어, 파일 조작, 장치 관리, 정보 유지, 통신 (0) | 2020.07.30 |
댓글