OS Process States

When a computer program runs but only a part of a program is running performing a specific task. This smallest unit of a program in execution is called a process. Technically, a process is not the smallest unit but some programs consist of threads which are smaller than a process.

When there is no process then the state is null. However, when a process is created then it changes many states during its lifetime. The state information for a process is kept in a Process Control Block (PCB).

Process States

  1. New State – The process is created recently.
  2. Running State – The process is being executed currently.
  3. Waiting State – Waiting for some Event or Input/Output to finish, etc.
  4. Ready State – Just before being assigned to a processor.
  5. Terminated – The process finished execution.

Process State Diagram

Process State Diagram
Process state diagram

The figure above shows that process change states due to various reasons and here is a list of transitions that happen between processes. Not necessarily in the same order.

  1. Null -> New
  2. New -> Ready
  3. Ready -> Running
  4. Running -> Terminated
  5. Running -> Blocked
  6. Blocked -> Ready
  7. Running -> Ready
  8. Ready -> Terminated
  9. Waiting -> Terminated

Note – Running – Ready ( This happens when process is removed from running due to a scheduling  algorithm such as Round Robin, Priority Queue )

Summary

Process is program in execution and does specific task. The process changes may states during it’s life time and the final state for a process is Terminated state when it exits and no longer available in memory.

References

  • Abraham Silberschatz, Peter B. Galvin, Greg Gagne (July 29, 2008) Operating System Concepts, 8 edn., : Wiley.
  • Tanenbaum, Andrew S. (March 3, 2001) Modern Operating Systems, 2nd edn., : Prentice Hall.
Skip to content