Unit 2
Unit 2
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 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 – No. 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
P1 P2 P3
0 24 27 30
0 3 6 30
0 3 7 8 12 16
0 2 4 5 7 11 16
P1 P2 P3 P4 P1 P3 P4 P1 P3 P3
P0 P1
wait (A); wait(B)
wait (B); wait(A)
Bridge Crossing Example
• Pi requests instance of Rj
Pi
Rj
• Pi is holding an instance of Rj
Pi
Rj
Example of a Resource Allocation Graph
Resource Allocation Graph With A Deadlock
Resource Allocation Graph With A Cycle But No Deadlock
Basic Facts
• If graph contains no cycles no deadlock.
• Detection algorithm
• Recovery scheme
Single Instance of Each Resource
Type
• Maintain wait-for graph
– Nodes are processes.
– Pi Pj if Pi is waiting for Pj.