operating systems { week 06.b }
DESCRIPTION
Rensselaer Polytechnic Institute CSC 432 – Operating Systems David Goldschmidt, Ph.D. Operating Systems { week 06.b }. Short-term (CPU ) scheduling. the dispatcher operates here. CPU scheduling algorithms (i). - PowerPoint PPT PresentationTRANSCRIPT
Operating Systems{week 06.b}
Rensselaer Polytechnic InstituteCSC 432 – Operating SystemsDavid Goldschmidt, Ph.D.
Short-term (CPU) scheduling
the dispatcher operates here
CPU scheduling algorithms (i) CPU scheduling requires an algorithm to
determine which process to dispatch next
Scheduling algorithms include: First-Come, First-Served (FCFS) Shortest-Job-First (SJF) Round-Robin (RR) Priority Multilevel Queue (MQ)
CPU scheduling algorithms (ii)
Preemptive scheduling preempts a running process before itstime slice expires Or it preempts a process
because its time slice has expired
Non-preemptive scheduling gives a process exclusive uninterrupted access to the CPU for the entirety of its execution
process
process process process
CPU scheduling algorithms (iii) Compare scheduling algorithms by
measuring CPU utilization – keep CPU as busy as possible Throughput – maximize the number of
processes that complete their execution per unit time
Turnaround time – minimize the elapsed time to fully execute a particular process
Waiting time – minimize the elapsed time a process waits in the ready queue
Round-Robin (RR)
RR is a preemptive algorithmthat gives all ready processesa fair time slice of CPU time Using a time slice of 2 ms....
time
Process
CPU Burst Time
P1 6 ms
P2 2 ms
P3 5 ms
P1 P3P2
62 130
P3
8 124
P1
10
P1 P3
Priority Scheduling (i)
Associate a priority number with each process The dispatcher selects the process
with the highest priority For multiple ready processes with
identical priority numbers, use FCFS (or ...)
Key problem is starvation▪ Overcome starvation by aging, increasing
the priority of a process as it ages
Priority Scheduling (ii)
(use this one for Project #1)
Is priority scheduling preemptive or non-preemptive? Non-preemptive priority scheduling
places higher-priority processes at the head of the queue
Preemptive priority scheduling requires a running process to be interrupted and preempted upon the arrival of a higher-priority process
process
Multiclass systems
Operating systems that support priority schemes are often called multiclass systems
use a separate schedulingalgorithm for each queue
Multilevel Queue (MQ)
Assign processes to multiple queues,each with its own scheduling algorithm
Multilevel Feedback Queue (MFQ)
Dynamically assign processes to multiple queues based on actual CPU burst times i.e. feedback
quantum is synonymouswith time slice
Practice!
Apply the FCFS, SJF, RR, and Preemptive Priority scheduling algorithms to this table:
For RR, use a time slice of 10 ms Calculate the wait and turnaround times of
each process, as well as overall averages
Process
Arrival Time
CPU Burst Time
Priority
P1 0 45 ms 5
P2 0 5 ms 3
P3 20 ms 15 ms 1
P4 60 ms 25 ms 2
lower number indicatesa higher priority
recalculate usingcontext switchtime tcs = 20 μs