The Process Control Block (PCB) is a data structure in which the OS keeps data related to each process. The details vary for different operating systems but they largely include:

  • Process Id: each process has a unique ID number
  • Program counter: the address of the next instruction for the process
  • Process state: whether the process is READY, WAITING, etc
  • General purpose registers: contents of the CPU registers for the process
  • List of open files / devices

PCBs are usually stored by the OS using a linked list.