As noted earlier, the OS constructs and maintains tables of information about each entity that it is managing. For this section, we will specifically focus on the process table and overall structure of how it works. To manage processes the OS needs to know details about the processes.
As such, each process is represented in the operating system by a process control block (PCB).
Figure 3.1 Process control block.
In brief, the PCB simply serves as the repository for all the data needed to start, or restart, a process, along with some accounting data. In addition to the PCB, we also save information about the data needed, the code itself, the stack, and all the parameters to keep track of a process execution cycle.
Figure 3.2 The structure of process images in main or virtual memory.
The process image is the collection of program, data, stack, and attributes defined in the process control block
As shown in Figure 3.2, the process control block information can be grouped into three general categories: