PCB (Process Control Block)

I. 프로세스 상태 저장 블록, PCB

가. PCB (Process Control Block)의 개념

  • 운영체제에서 프로그램 실행 맟 문맥 교환을 위해 프로세스 정보를 저장하는 데이터 블록

나. PCB의 주요 역할

프로세스 생성– 프로세스와 함께 생성, 고유 PCB 보유
프로세스 변경– 문맥 교환 시 PCB 정보 저장/복구
프로세스 종료– 프로세스 완료 시 함께 제거

 

II. PCB 구성 정보

구분구성 정보설명
메타
데이터
영역
– PID– 각 프로세스 고유 식별자
– 프로세스 상태– 준비,실행 등 프로세스 상태
– 프로그램 카운터– 프로세스 다음 명령 주소
– 계정정보– 사용시간, 계정, 작업 정보
데이터
영역
– 레지스터 영역– 누산기, 코드 등 정보
– 스케줄링 정보– 프로세서 스케줄 매개변수
– 입출력 상태 정보– 할당된 I/O 장치, 파일 목록
– 메모리 관리 정보– 메모리 영역 정의 필요 정보

 

III. PCB 기반 프로세스 전환, 문맥 교환 절차

  • 문맥교환: 실행중인 프로세스 정보를 PCB에 저장, 다른 프로세스 정보 복구 작업
  • 과도한 문맥교환은 오버헤드를 초래, 적정 수준의 멀티 프로그래밍 및 Thread 사용 통한 오버헤드 감소 가능

콘텐츠 사용 시 출처 표기 부탁 드리고, 댓글은 큰 힘이 됩니다^^