
CPU가 실행해야할 프로세스가 여러 개일때 CPU 스케줄링을 통해 관리하는 것을 말한다.
이때 CPU 는
각 프로세스의 정보와 상태(Process Metadata)를 알아야 관리가 가능하다.

프로세스의 정보와 상태(Process Metadata)를 저장하는 공간을 말한다.PCB 는
한 프로세스 당 1개 씩 보유하고 있다.
프로세스 식별자(ID): 프로세스의 고유 식별자프로세스 상태:New|Ready|Running|Waiting|Terminated프로그램 카운터(PC): 다음에 실행할 명령어의 주소를 가키리는 레지스터레지스터 상태: 프로세스가 현재 가지고 있는 레지스터의 값, (범용 레지스터, 스택 포인터 등)스케줄링 정보: 로세스의 우선순위, 스케줄링 알고리즘에 사용되는 정보 등메모리 관리 정보: 프로세스의 주소 공간 할당 정보, 페이지 테이블 정보 등입출력 상태: 현재 프로세스가 사용 중인 입출력 장치의 상태 정보자원 할당 정보: 할당된 파일 디스크립터, 메모리 할당 정보 등
CPU에서 프로세스의 상태에 따라 교체 작업이 이뤄진다.
ex) interrupt가 발생해서 할당되어있는 프로세스가 waiting 상태가 되고
다른 프로세스가 running으로 바꿔 올릴때이 때 할당되어있는 프로세스를 나중에 이어 실행하기 위헤서
Process Metadata를 저장해야한다.
이를 위한 공간으로PCB가 필요하다.
Linked List방식으로 관리된다.
이유는 주소 값으로 연결이 되어있기 때문에삽입과 삭제가 용이하기 때문이다.
PCB List Head에PCB들이 생성될때 마다 붙게된다.
즉프로세스가 생성되면 그 프로세스에 대한 PCB가 생성되고완료 시 제거한다.