- There are a number of states that can be attributed to a
process: indeed, the operation of a multiprogramming system can be
described by a state transition diagram on the process states. The
states of a process include:
- New-a process being created but not yet included in
the pool of executable processes (resource acquisition).
- Ready-processes that are prepared to execute when given the opportunity.
- Active, Running-the process that is currently being executed by the CPU.
- Blocked, Waiting-a process that cannot execute until some
event occurs, such as completion of an I/O service or reception of a signal.
- Stopped-a special case of blocked where the
process is suspended by the operator or the user.
- Exiting, Terminated-a process that is about to be removed from the pool of executable processes (resource release), a process has finished execution and is no longer a candidate for assignment to a processor, and its remaining resources and attributes are to be disassembled and returned to the operating system's ``free'' resource structures.
- As a process executes, it can change state due to either an external influence, e.g. it is forced to give up the CPU so that another process can take a turn, or an internal reason, e.g. it has finished or is waiting for a service from the operating system
- A process therefore takes part in a finite state system, and we typically show this in a state diagram which highlights the conditions necessary to transit from one state to another
Figure 1:
Diagram of Process State
|
2004-03-21