Process Control Block (PCB)
There are different attributes of a process. These attributes are stored in Program Control Block (PCB).An integer, Process ID (PID) is used to represents the PCB. This is also known as context of the process. OS manage and use these attributes from PCB of each process.
PCB is a data structure. Every process has its own PCB. PCB keeps all the information of a process . These information’s are required by that process during its execution.
The architecture of a process control Block is totally dependent on OS. It may hold different information’s in different operating systems. Have a look at PCB diagram
Process Attributes in PCB
1. Process ID
When a new process is created then a unique ID is assigned it. It is used for its unique identification in the system.
2. Process State
The Process, from its creation to the termination, passes through various states i.e new, ready, running and waiting etc. Explanation will be in upcoming lectures.
3. Process Permission
PCB also holds the information’s like allow or disallow the system resources. Allow and disallow are the system resources.
A pointer to parent process.
Each process has its own priority. Some processes having higher priority but some having lower priority i.e. Interrupts having higher priority. Execution of higher priority processes is first as compare to lower priority processes.
6. Program Counter (PC)
PC is a CPU register. CPU uses it when it resumes the execution of a process. Because PC stores the address of the last instruction of the process from where the process was suspended.
7. CPU Registers
CPU registers store the values of different states of running process. Every process contains its own registers. A register can hold an instruction, a storage address, or any kind of data. The most common registers are,
i. instruction register (IR)
ii. memory buffer register (MBR)
iii. memory data register (MDR)
iv. memory address register (MAR)
8. CPU Scheduling Information
PCB also holds the information of CPU scheduling algorithms . Some scheduling algorithms are FCFS, Priority etc. We will discuss all these scheduling algorithms in later posts.
9. Memory Management Information
It holds the information of memory like memory limits, page table etc.
10. Accounting information
it includes the amount of time that a CPU use for process execution as time limits etc.
11. I/O status information
It contains a list of I/O devices in a system. These devices are assign to the running process.
Note: The PCB of a process is alive until the process termination.