/ˈprəʊ.sɛs kənˈtrəʊl blɒk/

noun — “the backstage pass that lets the OS keep tabs on every running process.”

Process Control Block (PCB) is a data structure used by an operating system to store all the critical information about a specific process. Think of it as the OS’s personal notebook for each process, containing everything it needs to schedule, manage, and track the execution of that process safely and efficiently.

Each Process Control Block includes the process identifier (PID), process state (running, waiting, ready, etc.), CPU register contents, program counter, memory allocation details, File Descriptors, priority, and scheduling information. In multitasking environments, the PCB allows the OS to perform Context Switch operations seamlessly, saving the state of a process and restoring it later without losing progress.

Process Control Block is crucial for Process Management. Without PCBs, the operating system would have no structured way to know which process is doing what, when to schedule it next, or what resources it is using. This could lead to chaos, with tasks interfering with each other and system stability degrading.

In addition to CPU and memory information, a Process Control Block may also track security context, accounting details, and pointers to parent and child processes. This metadata allows the OS to enforce Resource Limits, manage I/O requests via I/O Streams, and maintain robust job control for both interactive and batch tasks.

Conceptually, a Process Control Block is like a pilot’s flight log for each plane in a busy airport: it knows the route, speed, fuel, and current state, ensuring takeoffs and landings happen safely and on time.

Process Control Block is like giving your OS a little black book — it knows who’s up next and who owes it CPU time.

See Context Switch, CPU Scheduling, Process Management, Resource Limit, Job Control.