본문 바로가기
코딩 공부/CS

[CS] PCB(Process Control Block)

by 현장 2026. 1. 24.

PCB(Process Control Block)

CB(Process Control Bolock)는 운영체제가 프로세스를 제어하기 위해 정보를 저장해 놓는 곳으로, 프로세스의 상태 정보를 저장하는 자료구조입니다.  프로세스 상태 관리와 문맥 교환(Context switch)을 위해서 필요하고 운영체제에서 프로세스는 PCB로 표현됩니다. 프로세스가 생성될 때마다 고유의 PCB가 생성되고, 프로세스가 완료되면 PCB도 함께 제거됩니다. 

 

운영체제에 따라 PCB에 포함되는 항목이 다를 수 있지만, 일반적으로 아래와 같은 정보가 포함되어 있습니다.

  • Pointer : 프로세스의 현재 위치를 저장하는 포인터 정보입니다.
  • Process State : 현재 이 프로세스의 각 상태 (생성, 준비, 실행, 대기, 종료)를 기록합니다.
  • PID : 모든 프로세스에는 프로세스 식별자를 저장하는 프로세스 ID 또는 PID라는 고유 한 ID가 할당됩니다.
  • Program Counter (PC) : 다음번에 CPU가 이 프로세스를 다시 실행할 때, "어느 줄(명령어 주소)부터 실행해야 하는지"를 가리키는 포인터입니다.
  • Register : CPU 내부 레지스터에 담겼던 중간 계산값들입니다. (스위칭 직전의 '현장 상황'을 그대로 백업해두는 용도)
  • Memoty Limits : 이 필드에는 운영 체제에서 사용하는 메모리 관리 시스템에 대한 정보가 포함됩니다. Code, Data, Heap, Stack이 메모리의 어느 주소에 위치해 있는지에 대한 정보(Page table, Segment table 등)가 담겨 있습니다.
  • Open File Lists : 이 정보에는 프로세스를 위해 열린 파일 목록 이 포함됩니다.

📖 Reference

yoongrammer