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