봉황대 in CS

[Chapter 3. 프로세스] 프로세스 제어 블록 본문

Computer Science/Operating System

[Chapter 3. 프로세스] 프로세스 제어 블록

등 긁는 봉황대 2022. 7. 8. 12:40

* 본 글은 '운영체제(Operating System: Concepts) 9th edition'의 내용과 2021학년도 1학기에 수강한 '운영체제' 과목 강의 내용을 함께 정리하여 작성하였습니다.

 

프로세스 제어 블록 (Process Control Block, PCB)

커널 내의 프로세스 문맥 정보를 저장하는 자료 구조

프로세스의 일생 동안 해당 프로세스의 모든 정적, 동적인 정보를 가진다.

 

즉, 커널이 프로세스를 관리하기 위한 실체이다.

 


문맥 교환 시 커널 수준 문맥은 추후 복구를 위해 PCB에 저장(save), 스케줄링된 새로운 프로세스의 문맥이 적재(restore)된다.

2022.07.07 - [Computer Science/Operating System] - [Chapter 3. 프로세스] 프로세스와 문맥

 

 

아래의 그림처럼 프로세스 각자의 PCB에 각자의 문맥과 상태를 save & restore 하며 프로세스들이 번갈아가면서 수행된다.

 

 


프로세스 상태에 대한 설명에서 나온 준비 리스트와 대기 리스트는 결국 PCB의 리스트이다.

2022.07.08 - [Computer Science/Operating System] - [Chapter 3. 프로세스] 프로세스의 상태

실행 상태 시 PCB는 준비 리스트에 존재하며, 상태 표시만 'RUNNING'으로 변경된다.

 

PCB의 내용

PCB 정보 내용
프로세스 ID 식별자 고유번호
사용자 정보 프로세스를 발생시킨 사용자 정보
프로세스 상태 프로세스의 상태 정보
신규, 준비(READY), 대기(BLOCKED), 실행(RUNNING), 종료 중 하나이다.
레지스터 문맥 문맥 교환을 위한 커널 수준 문맥 보관
(PC, SP, PSR, 범용 레지스터 등)
CPU 스케줄링 정보 우선 순위, 우선순위 결정 정보
(최근 CPU 사용량, CPU 대기 시간, 잔여 타임 슬라이스 등)
메모리 정보 메모리 영역(text, data, stack)의 주소 및 크기
상,하한 레지스터
가상 메모리 정보
자원 할당 및 사용 정보 입출력 보호 및 오류에 의한 종료 시 자원 회수 용도이다.
(할당된 각종 입출력 자원, 사용 중인 파일 등의 정보)
각종 링크 연결 리스트를 활용한다.
기타  

 

 

반응형
Comments