Process Scheduling
Scheduling Queue
[ ] The operating System must allocate resources to processes, enable processes to share and exchange information, protect the resources of each process from other processes and enable synchronization amongst process.
[ ] 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.
[ ] 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 which process should be executed next and allocates CPU.
[ ] Short-term scheduler is invoked very frequently (milliseconds) fi (must be fast).
[ ] Long-term scheduler is invoked very infrequently (seconds, minutes) fi (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.
0 comments:
Post a Comment