Professional Documents
Culture Documents
Systems
Lecture 11
Review of Lecture 14
Short-term scheduler
Dispatcher
Reasons for invoking scheduler
Preemptive and non-preemptive
schedulers
Optimization criteria
FCFS
Agenda for Today
Review of previous lecture
Shortest-job-first
Shortest-Job-First (SJF)
Scheduling
Process with the shortest CPU
burst is scheduled first.
Non-preemptive – once CPU
given to a process it cannot be
preempted until completes its
CPU burst.
Shortest-Job-First (SJF)
Scheduling
Preemptive – if a new process arrives
with CPU burst length less than
remaining time of current executing
process, preempt it—Shortest-
Remaining-Time-First (SRTF).
SJF is optimal non-preemptive
scheduling algorithm – gives minimum
average waiting time for a given set of
processes.
Non-Preemptive SJF
Process Arrival Time Burst Time
P1 0.0 7
P2 2.0 4
P3 4.0 1
P4 5.0 4
Gantt chart P1 P3 P2 P4
0 7 12 16
0 2 4 5 7 11 16
P3 P2 P1
2 3 5
Round Robin (RR)
Each process gets a small unit
of CPU time, called time slice or
quantum, which is usually 10-
100 milliseconds. After this
time has elapsed, the process
is preempted and added to the
end of the ready queue.
Round Robin (RR)
If there are n processes in the
ready queue, the time quantum
is q, and context switch time is
tcs, then no process waits more
than (n-1)(q+tcs) time units
Used in time-sharing systems
where response time is an
important performance criteria
Round Robin (RR)
Performance
q large FCFS
q small q must be large with
respect to context
switch, otherwise overhead
is too high.
Round Robin Example
Process Burst Time
P1 53 — 33 — 13
P2 17
P3 68 — 48 — 28 — 8
P4 24 — 4
The Gantt chart with quantum 20 is:
P1 P2 P3 P4 P1 P3 P4 P1 P3 P3
6 1
1 9
Turnaround Time vs
Quantum