/    /  OS – process scheduling

Process Scheduling

 

What is process scheduling?

 

Process scheduling is an Operating System task that is used to schedule processes of different states like ready, waiting, and running. It keeps the CPU busy all the time, hence decreasing the response time for the programs. 

 

Process Scheduling Queues

 

Process scheduling queues are used by the OS to maintain a distinct queue for every PCB and process state. 

The process scheduling queues maintained by the OS are as follows:

  1. Job queue: It helps store all the processes in the system.
  2. Ready queue: It helps set every process that is sitting in the main memory waiting to be executed.
  3. Device queue: It is a process blocked due to the unavailability of I\O devices.

 

Two State Process Model

 

Two state process models are as follows:

  1. Running
  2. Not Running

 

Running

In the operating system when a new process is created it enters the system in running state.

 

Not running

The processes that are kept in the queue are in “Not Running” state. 

 

Scheduling objectives:

 

Some of the important objectives of process scheduling are:

  1. It should achieve a balance between utilization and response.
  2. Reference should be given to the processes holding key resources.
  3. It should avoid postponement and enforce priorities.
  4. It should increase the number of interactive users within an acceptable response time. 

 

Reference:

Process scheduling of Operating system.