Process Scheduler : Job and Process Status

When the jobs moves through the system and makes progress, it changes it’s states from HOLD to FINISH. When the job is being processed by the job manager and the process manager, it is always in one of these 5 states:

  1. HOLD:
    When a user submits a job and it accepts the job, the job is put on HOLD and placed in a queue.
  2. READY:
    A job is in READY state when it’s ready to run and waiting for the CPU.
  3. RUNNING:
    When a job is in RUNNING state, it is being executed.
  4. WAITING:
    When a job is in WAITING state, it means that the job can’t continue until a specified I/O operation is done or a resource is allocated.
  5. FINISHED:
    When a job is in FINISHED state, it means that the job is done and the output will be returned to the user.

The transition of a job from one to another or from one state to another is done according to some specific algorithms by job scheduler or process scheduler:



  1. The transition from HOLD to READY is done by the job scheduler according to availability of main memory space and some specific policies.
  2. The transition from READY to RUNNING is done by the process scheduler (to decide which job will be done first) according to some algorithms (e.g. FCFS).
  3. The transition from RUNNING back to READY is done by process scheduler according to some criterion (e.g. Priority Interrupt).
  4. The transition from RUNNING to WAITING is done by process scheduler when some I/O request is encountered in the job itself or some resource allocation is required.
  5. The transition from WAITING to READY is done by the process scheduler when the requirements needed by the jobs are satisfied (I/O request satisfied).
  6. The transition from RUNNING to FINISHED is done by the process scheduler in 2 condition:
    • (i) When the job is successfully done.
    • (ii) When an error occurs and the job is terminated prematurely.
  7. When a job is FINISHED, another job from the queue enters the state of RUNNING from READY.



My Personal Notes arrow_drop_up

Tarun Singhal is a contributor at geeeksforgeeks || He is pursuing his professional BTech degree in Computer Science from Inderprastha Engineering College, Gaziabad || He has done his 12th in 2019 from CBSE board from Bharatiya Vidya Bhavans Mehta Vidyalaya, KG Marg , New Delhi || He lives in delhi

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.