Process Scheduling Queues


Job queue set of all processes in the system.

Ready queue set of all processes residing in main memory, ready and waiting to execute.

Device queues set of processes waiting for an I/O device.

Process migration between the various queues.


Ready Queue And Various I/O Device Queues




Representation of Process Scheduling






Long-term scheduler (or job scheduler) selects which processes should be  brought into the ready queue.

Short-term scheduler (or CPU scheduler) selects which process should be executed  next and allocates CPU.


Addition of Medium Term Scheduling




Short-term scheduler is invoked very frequently (milliseconds) _ (must be fast).

Long-term scheduler is invoked very infrequently (seconds, minutes) _ (may be slow).

The long-term scheduler controls the degree of multiprogramming.

Processes can be described as either:

  1. I/O- bound process spends more time doing I/O than computations, many  short CPU bursts.

  2. CPU-bound process spends more time doing computations; few very long CPU bursts.


Context Switch


When CPU switches to another process, the system must save the state of the old process and load the saved state for the new process.

Context-switch time is overhead; the system does no useful work while switching.

Time dependent on hardware support.