Process Control Block의 약자로써, 운영체제(프로그램)가 프로세스를 하나 만들어서 실행할 때 필요한 정보들을 저장해 놓는 저장 장소를 뜻합니다. 어떤 프로세스를 불러왔을 경우 이에 해당하는 프로세스가 무엇인지를 알 수 있도록 프로세스가 생성 시에 PCB라는 곳에서 만들어지며 주기억장치에 유지됩니다. 이는 프로세스 상태 관리와 문맥교환을 위해 필요합니다.
예를 들어, CPU에 급한 프로세스 처리때문에 긴급 요청이 들어왔을 경우, 기존에 작업하던 프로세스를 어딘가에 임시 저장을 해놓아야 급한 애를 빨리 처리한 후에 다시 불러올 수 있겠죠, 즉 프로세스 관한 정보들을 저장할 어딘가의 공간이 필요하고 그 공간이 PCB입니다.
프로세스A 수행 중에 프로세스B를 수행시키기 위해서 PCB A에 프로세스A 정보를 저장 한 후 PCB B에 저장되어 있던 프로세스B의 정보를 가져와 프로세스B를 수행시킵니다. 이렇게 해당 프로세스의 정보들이 저장되어 있는 공간을 PCB라고 하고 이때 수행중인 프로세스를 변경할 때, 레지스터에 프로세스의 정보가 바뀌는 것을 Context Switching이라고 합니다.
문맥교환이란, CPU가 이전 프로세스 상태를 PCB에 보관하고, 또 다른 프로세스의 정보를 PCB에서 읽어와 레지스터에 적재하는 과정을 말합니다.
프로세스가 준비 → 실행 , 실행 → 준비, 실행 → 대기 등으로 상태 변경이 일어날때 발생됩니다.
** 레지스터는 CPU(Central Processing Unit)가 요청을 처리하는 데 필요한 데이터를 일시적으로 저장하는 기억장치