G53OPS - Operating Systems

This course is run at the The University of Nottingham within the School of Computer Science & IT. The course is run by Graham Kendall (EMAIL : gxk@cs.nott.ac.uk)


Process Control Blocks

This section is based on (Tanenbaum, 1992), pages 31-32.

Assuming we have a computer with one processor, it is obvious that the computer can only execute one process at a time. However, when a process moves from a running state to a ready or blocked state it must store certain information so that it can remember where it was up to when it moves back to a running state. For example, it needs to know which instruction it was about to execute, which record it was about to read from its input file and the values of various variables that it was using as working storage.

Each process has associated with it a process table. This is used to hold all the information that a process needs in order to restart from where it left off when it moves from a ready state to a running state.

Different systems will hold different information in the process block.

This table shows a typical set of data

Process Management
Registers
Program Counter
Program Status Word
Stack Pointer
Process State
Time when process started
CPU time used
Time of next alarm
Process id

You will notice that, as well as information to ensure the process can start again (e.g. Program Counter), the process control block also holds accounting information such as the time the process started and how much CPU time has been used.

You should note that this is only a sample of the information held. There will be other information, not least of all concerned with the files being used and the memory the process is using.

Last Page Back to Main Index Next Page

 

 


 Last Updated : 08/01/2002