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 – 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.