CPU Scheduler
Ø
Selects from among the processes in memory that
are ready to execute, and allocates the CPU to one of them.
Ø
CPU scheduling decisions may take place when a
process:
1. Switches
from running to waiting state.
2. Switches
from running to ready state.
3. Switches
from waiting to ready.
4. Terminates.
Ø
Scheduling under 1 and 4 is nonpreemptive.
Ø
All other scheduling is preemptive.
Dispatcher
Ø
Dispatcher module gives control of the CPU to
the process selected by the short-term scheduler; this involves:
·
switching context
·
switching to user mode
·
jumping to the proper location in the user program
to restart that program
Dispatch latency – time it takes for the dispatcher
to stop one process and start another running.
Scheduling
Criteria
Ø CPU
utilization – keep the CPU as busy as possible
Ø Throughput
– # of processes that complete their execution per time unit
Ø Turnaround
time – amount of time to execute a particular process
Ø Waiting
time – amount of time a process has been waiting in the ready queue
Ø Response
time – amount of time it takes from when a request was submitted until the
first response is produced, not output
(for time-sharing environment)
Optimization
Criteria
Ø Max
CPU utilization
Ø Max
throughput
Ø Min
turnaround time
Ø Min
waiting time
Ø Min
response time
No comments:
Post a Comment