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.