2. Process Scheduling

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.
Ready Queue And Various I/O Device Queues





Device queues – set of processes waiting for an I/O device.
Processes migrate between the various queues.
Schedulers
Long-term scheduler (or job scheduler)selects which processes should be brought into the ready queue.
Short-term scheduler (or CPU scheduler) – selects whichprocess should be executed next and allocates CPU.





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:

  • I/O-bound process – spends more time doing I/O than computations, many short CPU bursts.
  • 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.