운영체제(OS)

프로세스 제어 블록 (PCB: Process Control Block) 알아보기

yoongrammer 2021. 1. 23. 16:12
728x90

프로세스 제어 블록 (PCB: Process Control Block) 알아보기


PCB(Process Control Bolock)는 운영체제가 프로세스를 제어하기 위해 정보를 저장해 놓는 곳으로, 프로세스의 상태 정보를 저장하는 자료구조입니다.

운영체제에서 프로세스는 PCB로 표현됩니다.

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

 

CB는 프로세스 상태 관리와 문맥 교환(Context switch)을 위해서 필요합니다.

 

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

PCB

  • 포인터

    프로세스의 현재 위치를 저장하는 포인터 정보입니다.

  • 프로세스 상태

    프로세스의 각 상태 (생성(New), 준비(Ready), 실행(Running), 대기(Waiting), 종료(Terminated))를 저장합니다.

  • 프로세스 번호

    모든 프로세스에는 프로세스 식별자를 저장하는 프로세스 ID 또는 PID라는 고유 한 ID가 할당됩니다.

  • 프로그램 카운터

    프로세스를 위해 실행될 다음 명령어의 주소를 포함하는 카운터를 저장합니다.

  • 레지스터

    누산기, 베이스, 레지스터 및 범용 레지스터를 포함하는 CPU 레지스터에 있는 정보입니다.

  • 메모리 제한

    이 필드에는 운영 체제에서 사용하는 메모리 관리 시스템에 대한 정보가 포함됩니다. 여기에는 페이지 테이블, 세그먼트 테이블 등이 포함될 수 있습니다.

  • 열린 파일 목록

    이 정보에는 프로세스를 위해 열린 파일 목록 이 포함됩니다.

운영체제는 빠르게 PCB에 접근하기 위해 프로세스 테이블을 사용하여 각 프로세스의 PCB를 관리합니다.

Process table

 

 

 

728x90