Vinaora Nivo SliderVinaora Nivo SliderVinaora Nivo SliderVinaora Nivo SliderVinaora Nivo Slider

User Rating: 2 / 5

Star ActiveStar ActiveStar InactiveStar InactiveStar Inactive

Process control block

Process Control Block (PCB, also called Task Controlling Block, Task Struct, or Switchframe) is a data structure in the operating system kernel containing the information needed to manage a particular process. The PCB is "the manifestation of a process in an operating system".[1]

Included information

Implementations differ, but in general a PCB will include, directly or indirectly:

  • The identifier of the process (a process identifier, or PID)
  • Register values for the process including, notably, the program counter and stack pointer values for the process.
  • The address space for the process
  • Priority (in which higher priority process gets first preference. e.g., nice value on Unix operating systems)
  • Process accounting information, such as when the process was last run, how much CPU time it has accumulated, etc.
  • Pointer to the next PCB i.e. pointer to the PCB of the next process to run
  • I/O Information (i.e. I/O devices allocated to this process, list of opened files, etc.)

During context switch, the running process is stopped and another process is given a chance to run. The kernel must stop the execution of the running process, copy out the values in hardware registers to its PCB, and update the hardware registers with the values from the PCB of the new process.

A process in an operating system is represented by a data structure known as a process control block (PCB) or process descriptor. The PCB contains important information about the specific process including

  • The current state of the process i.e., whether it is ready, running, waiting etc.
  • Unique identification of the process in order to track "which is which" information.
  • A pointer to parent process.
  • Similarly, a pointer to child process (if it exists).
  • The priority of process (a part of CPU scheduling information).
  • Pointers to locate memory of processes.
  • A register save area.
  • The processor it is running on.

The PCB is a certain store that allows the operating systems to locate key information about a process. Thus, the PCB is the data structure that defines a process to the operating systems.

Location of the PCB

Since PCB contains the critical information for the process, it must be kept in an area of memory protected from normal user access. In some operating systems the PCB is placed in the beginning of the kernel stack of the process since that is a convenient protected location.[2]


  1. Deitel, Harvey M. (1984) [1982]. An introduction to operating systems (revisited first edition ed.). Addison-Wesley. pp. 673. ISBN 0-201-14502-2. pages 57-58
  2. Yong, Zhang, "Breaking through the Maximum Process Number", Linux Journal, 1 Jan 2004

Share on Social Networking Websites

FacebookMySpaceTwitterDiggDeliciousStumbleuponGoogle BookmarksNewsvineLinkedinRSS FeedPinterest
Design by: Electronic Trade of Arsh Gostar Co. (ETAG) Multimedia Studio :: amir abdi :: 2016