본문 바로가기
Computer Science/운영체제

PCB(Process Control Block) 프로세스 제어 블록이란?

by 양찬우 2021. 5. 30.
728x90

1. PCB(Process control Block) 

PCB는 운영 체제가 프로세스를 표현한 것이다

특정한 프로세스를 관리할 필요가 있는 정보를 포함하는 운영 체제 커널의 자료 구조이다.

각 프로세스가 생성될 때마다 고유의 PCB가 생성되고, 프로세스가 완료되면 PCB는 제거됩니다.

 

2. 포함 정보

  • 프로세스 식별자(Process ID)
  • 프로세스 상태(Process State): 생성(create), 준비(ready), 실행(running), 대기(waiting), 완료(terminated) 상태가 있다. - 유예준비상태suspended ready, 유예대기상태suspended wait 는 스택이 아닌 disk에 저장된다.
  • 프로그램 계수기(Program Counter): 프로그램 계수기는 이 프로세스가 다음에 실행할 명령어의 주소를 가리킨다. (실행 도중 멈췄다가 다시 재개될 때 이어서 실행할 수 있도록 마지막 실행위치를 저장함)
  • CPU 레지스터 및 일반 레지스터
  • CPU 스케줄링 정보: 우선 순위, 최종 실행시각, CPU 점유시간 등
  • 메모리 관리 정보: 해당 프로세스의 주소 공간 등
  • 프로세스 계정 정보: 페이지 테이블, 스케줄링 큐 포인터, 소유자, 부모 등
  • 입출력 상태 정보: 프로세스에 할당된 입출력장치 목록, 열린 파일 목록 등

 

3. PCB의 위치

PCB가 프로세스의 중요한 정보를 포함하고 있기 때문에, 일반 사용자가 접근하지 못하도록 보호된 메모리 영역 안에 남는다. 일부 운영 체제에서 PCB는 커널 스택의 처음에 위치한다. (이 메모리 영역은 편리하면서도 보호를 받는 위치이기 때문이다.)

 

 

728x90

댓글