본문 바로가기
OS

프로세스(3): Process Control Block PCB, CPU Switching

by tovantablack 2020. 8. 2.
728x90
728x90

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 실행

 

728x90
728x90

댓글