Download - Operating Systems { week 06.b }
![Page 1: Operating Systems { week 06.b }](https://reader035.vdocuments.us/reader035/viewer/2022072013/56812c68550346895d90ff0b/html5/thumbnails/1.jpg)
Operating Systems{week 06.b}
Rensselaer Polytechnic InstituteCSC 432 – Operating SystemsDavid Goldschmidt, Ph.D.
![Page 2: Operating Systems { week 06.b }](https://reader035.vdocuments.us/reader035/viewer/2022072013/56812c68550346895d90ff0b/html5/thumbnails/2.jpg)
Short-term (CPU) scheduling
the dispatcher operates here
![Page 3: Operating Systems { week 06.b }](https://reader035.vdocuments.us/reader035/viewer/2022072013/56812c68550346895d90ff0b/html5/thumbnails/3.jpg)
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)
![Page 4: Operating Systems { week 06.b }](https://reader035.vdocuments.us/reader035/viewer/2022072013/56812c68550346895d90ff0b/html5/thumbnails/4.jpg)
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
![Page 5: Operating Systems { week 06.b }](https://reader035.vdocuments.us/reader035/viewer/2022072013/56812c68550346895d90ff0b/html5/thumbnails/5.jpg)
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
![Page 6: Operating Systems { week 06.b }](https://reader035.vdocuments.us/reader035/viewer/2022072013/56812c68550346895d90ff0b/html5/thumbnails/6.jpg)
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
![Page 7: Operating Systems { week 06.b }](https://reader035.vdocuments.us/reader035/viewer/2022072013/56812c68550346895d90ff0b/html5/thumbnails/7.jpg)
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
![Page 8: Operating Systems { week 06.b }](https://reader035.vdocuments.us/reader035/viewer/2022072013/56812c68550346895d90ff0b/html5/thumbnails/8.jpg)
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
![Page 9: Operating Systems { week 06.b }](https://reader035.vdocuments.us/reader035/viewer/2022072013/56812c68550346895d90ff0b/html5/thumbnails/9.jpg)
Multiclass systems
Operating systems that support priority schemes are often called multiclass systems
use a separate schedulingalgorithm for each queue
![Page 10: Operating Systems { week 06.b }](https://reader035.vdocuments.us/reader035/viewer/2022072013/56812c68550346895d90ff0b/html5/thumbnails/10.jpg)
Multilevel Queue (MQ)
Assign processes to multiple queues,each with its own scheduling algorithm
![Page 11: Operating Systems { week 06.b }](https://reader035.vdocuments.us/reader035/viewer/2022072013/56812c68550346895d90ff0b/html5/thumbnails/11.jpg)
Multilevel Feedback Queue (MFQ)
Dynamically assign processes to multiple queues based on actual CPU burst times i.e. feedback
quantum is synonymouswith time slice
![Page 12: Operating Systems { week 06.b }](https://reader035.vdocuments.us/reader035/viewer/2022072013/56812c68550346895d90ff0b/html5/thumbnails/12.jpg)
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