lecture 8
lecture 8
Basic Concepts
• Maximum CPU utilization obtained with multiprogramming
• CPU–I/O Burst Cycle –Process execution consists of a
cycle of CPU execution and I/O wait
• CPU burst distribution
Alternating Sequence of CPU And I/O Bursts
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 non-preemptive
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
First Come, First-Served (FCFS) Scheduling
FCFS Scheduling (Cont.)
• Suppose that the processes arrive in the order
P2, P3, P1
The Gantt chart for the schedule is: