2019년 4월 24일
PCB (Process Control Block)
I. 프로세스 상태 저장 블록, PCB
가. PCB (Process Control Block)의 개념
- 운영체제에서 프로그램 실행 맟 문맥 교환을 위해 프로세스 정보를 저장하는 데이터 블록
나. PCB의 주요 역할
프로세스 생성 | – 프로세스와 함께 생성, 고유 PCB 보유 |
프로세스 변경 | – 문맥 교환 시 PCB 정보 저장/복구 |
프로세스 종료 | – 프로세스 완료 시 함께 제거 |
II. PCB 구성 정보
구분 | 구성 정보 | 설명 |
---|---|---|
메타 데이터 영역 | – PID | – 각 프로세스 고유 식별자 |
– 프로세스 상태 | – 준비,실행 등 프로세스 상태 | |
– 프로그램 카운터 | – 프로세스 다음 명령 주소 | |
– 계정정보 | – 사용시간, 계정, 작업 정보 | |
데이터 영역 | – 레지스터 영역 | – 누산기, 코드 등 정보 |
– 스케줄링 정보 | – 프로세서 스케줄 매개변수 | |
– 입출력 상태 정보 | – 할당된 I/O 장치, 파일 목록 | |
– 메모리 관리 정보 | – 메모리 영역 정의 필요 정보 |
III. PCB 기반 프로세스 전환, 문맥 교환 절차
- 문맥교환: 실행중인 프로세스 정보를 PCB에 저장, 다른 프로세스 정보 복구 작업
- 과도한 문맥교환은 오버헤드를 초래, 적정 수준의 멀티 프로그래밍 및 Thread 사용 통한 오버헤드 감소 가능