본문 바로가기

운영체제

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

PCB 개요

  • 프로세스 제어 블록 (PCB): 운영 체제가 개별 프로세스를 관리하기 위해 사용하는 중요한 자료 구조.
  • 고유성: 각 프로세스는 고유의 PCB를 가지며, 프로세스 생성 시 만들어지고 실행 완료 시 폐기된다.
  • PCB의 내용: 프로세스에 대한 자료 블럭 또는 레코드로, 상태, 식별자, 우선순위 등에 관한 정보를 포함한다.
  • PCB는 커널 메모리 영역에 저장된다.
  • PCB에는 프로세스의 모든 정보를 가지고 있다.

PCB 구성 요소

프로세스 정보

  • 프로세스 구분자(ID): 여러 프로세스를 구별하기 위한 고유 식별자.
  • 우선순위: 프로세스의 실행 순서 결정.
  • 프로세스 상태: 현재 프로세스의 상태(신규, 준비, 실행, 보류, 중단 등).
  • 프로세스 어카운트: 사용시간, 계정 번호 등 프로세스 계정 정보를 제공.
  • 프로그램 카운터: 다음에 실행될 명령의 주소.

환경 정보

  • 레지스터 정보: CPU 레지스터 값, PCB에 레지스터 저장 공간을 두는 이유는 프로세스의 문맥 교환을 효율적으로 관리하기 위해서다.
  • 포인터: 프로세스 큐를 구현할 때 사용.
  • 메모리 관리 정보: 메모리 위치, 경계 레지스터 값 등.
  • 할당된 자원 정보: 입출력 자원, 파일 등.
  • 부모/자식 프로세스 구분자: 상위 및 하위 프로세스 식별.

PCB의 중요성

  • PCB는 운영체제 내에서 프로세스의 존재를 정의하고, 모든 프로세스 관리 활동의 핵심이다.
  • 실행이 종료된 프로세스는 해당 PCB가 삭제되면서 시스템 자원이 회수된다.

PCB의 동적 관리

  • PCB는 프로세스의 생명주기 동안에만 존재하며, 프로세스 상태의 변화에 따라 계속 갱신된다.
  • 커널 메모리 영역에 저장되며, 최대 프로세스 수에 따라 공간이 할당되고 관리된다.

'운영체제' 카테고리의 다른 글