
프로세스 제어 블록(Process Control Block, PCB)는 특정한 프로세스를 관리할 필요가 있는 정보를 포함하는 운영 체제 커널의 자료 구조이다. 즉, PCB 는 OS가 프로세스를 표현한 것이다.
Process Management)Process Metadata 라고 한다.Process MetadataProcess ID : 프로세스 식별자Process State : 프로세스 상태 -> 생성(Create) , 준비(Ready) , 실행(Running) , 대기(Watiting) , 완료(terminated)Process Priority : 프로세스 우선순위CPU Registers : CPU 레지스터 및 일반 레지스터Owner : 프로세스 계정 정보CPU Usage : CPU 사용량Memory Usage : 메모리 관련 정보순서
프로그램 실행 -> 프로세스 생성 -> 프로세스 주소공간에
Stack,Data,Code영역 생성 -> 프로세스의 메타데이터들이 PCB에 저장
Linked List 방식의 자료구조로 관리된다.PCB List Head 에 PCB들이 생성될 때마다 다음 노드에 붙게 된다. 주소값으로 연결이 이루어져 있는 연결리스트이기 때문에 삽입 삭제가 용이하다.멀티 프로세스 환경에서 CPU가 프로세스 처리 중
인터럽트(Interrupt)요청에 의해 다음 우선 순위의 프로세스가 실행되야 할 때, 기존의 프로세스의 상태 또는 레지스터 값(Context)을 저장하고 CPU가 다음 프로세스를 수행하도록 새로운 프로세스의 상태 또는 레지트서 값(Context)를 교체하는 작업을 말한다.Context
OS에서 Context 는 CPU가 해당 프로세스를 실행하기 위한 해당 프로세스의 정보이다.
참고자료
Tech Interview
PCB(Process Control Block)란?
(iOS) PCB와 Context Switching
위키백과
OS - Context Switch(컨텍스트 스위치)가 무엇인가?
Context Switching이란?