OS-Process Concepts

The notion of process, which is central to the understanding of today’s computer systems that perform and keep track of many simultaneous activities.


The term “Process” was first used by the designers of the Multics sytem in the 1960s.
Some definitions are as follows.
  1.  A program in execution.
  2.  An asynchronous activity.
  3.  The “animated spirit” of a procedure.
  4.  The “locus of control” of a procedure in execution.
  5.  That which is manifested by the existence of a “process control block” in the operating system.
  6.  That entity to which processors are assigned.
  7.  The “dispatchable” unit.

A process goes through a series of discrete process states. Various events can cause a process to change states.

A process is said to be running (ie., in the running state) if it currently has the CPU. A process is said to be ready (ie., in the ready state) if it could use a CPU if one were available. A process is said to be blocked (ie., in the blocked state) if it is waiting for some event to happen (such as an I/O completion event) before it can proceed.

For example consider a single CPU system, only one process can run at a time, but several processes may be ready, and several may be blocked. So establish a ready list of ready processes and a blocked list of blocked processes. The ready list is maintained in priority order so that the next process to receive the CPU is the first process on the list.


When a job is admitted to the system, a corresponding process is created and normally inserted at the back of the ready list. The process gradually moves to the head of the ready list as the processes before it complete their turns at using the CPU. When the process reaches the head of the list, and when the CPU becomes to make a state transition from ready state to the running state. The assignment of the CPU to the first process on the ready list is called dispatching, and is performed by a system entity called the dispatcher. We indicate this transition as follows

Dispatch ( processname ) : ready --> running.

To prevent any one process to use the system. Wholly, the operating system sets a hardware interrupting clock ( or interval timer ) to allow this user to run for a specific time interval or quantum. If the process does not leave the CPU before the time interval expires, the interrupting clock generates an interrupt, causing the operating system to regain control. The operating system then makes the previously running process ready, and makes the first process on the ready list running. These state transitions are indicated as

timerunout ( processname ) : running --> ready and dispatch ( processname ) : ready --> running
If a running process initiates an input/output operation before its quantum expires, the running process voluntarily leaves the CPU. This state transition is

 Block ( processname ) : running --> blocked

When an input/output operation (or some other event the process is waiting for) completes. The process makes the transition from the blocked state to the ready state. The transition is

 Wakeup ( processname ) : blocked --> ready


The PCB is a data structure containing certain important information about the process including.
  •  The current state of the process.
  •  Unique identification of the process.
  •  A pointers to the process’s parent ( ie., the process that created this process ).
  •  Pointers to the process’s child processes ( ie., processes created by this process ).
  •  The process’s priority.
  •  Pointers to locate the process’s memory.
  •  Pointers to allocated resources.
  •  A register save area.
  •  The processor it is running on ( in multiprocessor system)
The PCB is a central store of information that allows the operating system to locate all key information about a process. The PCB is the entity that defines a process to the operating system. 
Share this article :
Copyright © 2012. Best Online Tutorials | Source codes | Programming Languages - All Rights Reserved