정의
Process Control Block(이하 PCB)는 특정한 프로세스를 관리할 필요가 있는 정보를 포함하는 운영체제 커널의 자료구조이다.
즉 PCB는 OS가 프로세스를 표현한 것이라고 할 수 있다.
OS가 프로새스 스케줄링을 위해 프로세스에 관한 모든 정보를 가지고 있는 DB를 PCB라 한다.
프로세스가 생성될 때 UNIQUE한 PCB가 하나 생성되고 프로세스가 끝나면 사라지게 됨
구조
- PID = 프로세스 식별자
- Process State = CREATE, READY, RUNNING, WAITING, TERMINATED의 상태가 있다.
- Program Counter = 프로세스가 다음에 실행할 명령어의 주소를 가르킴
- Cpu Register 및 일반 레지스터
- Cpu Scheduler 정보 = 우선순위, 최종 실행시각, CPU점유시간 등
- 메모리 관리 정보 = 해당 프로세스의 주소 공간 등
- 프로세스 계정 정보 = 페이지 테이블, 스케줄링 큐 포인터, 소유자, 부모
- I/O 상태 정보 = 프로세스의 할당된 입출력 장치 목록, 열린 파일 목록 등
- 포인터 = 부모 프로세스에 대한 포인터, 자식 프로세스에 대한 포인터, 프로세스가 위치한 메모리 주소에 대한 포인터, 할당된 자원에 대한 포인터 정보 등