Process Control Block

Filter Course


Process Control Block

Published by: Zaya

Published date: 22 Jun 2021

Process Control Block Photo

Process Control Block

Process Control Block is a data structure that contains information of the process related to it. It is also known as a task control block, entry of the process table, etc.

It is very important for process management as the data structuring for processes is done in terms of the PCB. It also defines the current state of the operating system.

Structure of the Process Control Block

The process control stores many data items that are needed for efficient process management. Some of these data items are explained with the help of the given diagram:

 

process control block

The following are the data items:

Process State

This specifies the process state i.e. new, ready, running, waiting or terminated.

Process Number

This shows the number of the particular process.

Program Counter

This contains the address of the next instruction that needs to be executed in the process.

Registers

This specifies the registers that are used by the process. They may include accumulators, index registers, stack pointers, general-purpose registers, etc.

List of Open Files

These are the different files that are associated with the process

CPU Scheduling Information

The process priority, pointers to scheduling queues, etc. is the CPU scheduling information that is contained in the PCB. This may also include any other scheduling parameters.

Memory Management Information

The memory management information includes the page tables or the segment tables depending on the memory system used. It also contains the value of the base registers, limit registers, etc.

I/O Status Information

This information includes the list of I/O devices used by the process, the list of files, etc.

Accounting information

The time limits, account numbers, amount of CPU used, process numbers, etc. are all a part of the PCB accounting information.

Location of the Process Control Block

It is kept in a memory area that is protected from normal user access. This is done because it contains important process information. Some of the operating systems place the PCB at the beginning of the kernel stack for the process as it is a safe location.