At any instance, a process will be having various information associated with it like identifier, state, priority, program counters, memory pointers, accounting information etc. Such information are stored in a data structure called as Process Control block (PCB).
It is an important tool that helps the OS support multiple processes and provide for multiprocessing.
It contains sufficient information such that if an interrupt occurs, the process can begin from the point where it left later as if nothing had happened.
The blocks are read and/or modified by every module in the OS including
Scheduling
Resource allocation
Interrupt processing
Performance monitoring and analysis
It can be said that the process control block defines the state of OS.
However, there comes the issue of Security; a bug in a single routine say the interrupt handler could damage the PCB which in turn can make it difficult for OS to manage the affected process.
Changes made to the Process control block (like semantics or design changes) can affect various modules.