View
32
Download
0
Category
Tags:
Preview:
DESCRIPTION
Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems David Goldschmidt, Ph.D. Operating Systems {week 06b}. Short-term (CPU) scheduling (i). The short-term scheduler decides which process the CPU executes next - PowerPoint PPT Presentation
Citation preview
Operating Systems{week 06b}
Rensselaer Polytechnic InstituteCSCI-4210 – Operating SystemsDavid Goldschmidt, Ph.D.
Short-term (CPU) scheduling (i) The short-term scheduler decides which
process the CPU executes next The dispatcher gives control of the CPU
to the process selected by the CPU scheduler: Performs context switch Switches to user mode Jumps to the proper location in the user
program to resume program execution
Short-term (CPU) scheduling (ii)
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
First-Come-First-Served (FCFS) FCFS dispatches processes
in the order they enterthe ready queue FCFS is non-preemptive
time
P1 P2 P3
24 27 300
Process
CPU Burst Time
P1 24 msP2 3 msP3 3 ms
Shortest-Job-First (SJF)
SJF dispatches processes byselecting the process withthe lowest CPU burst time SJF is non-preemptive (and predictive)
time
Process
CPU Burst Time
P1 24 msP2 3 msP3 3 ms
P1P3P2
63 300
Preemptive SJF
Same as SJF, but anew process maypreempt therunning process
time
Process
Arrival Time
CPU Burst Time
P1 0 7 msP2 2 ms 4 msP3 4 ms 1 msP4 5 ms 4 ms
P1 P3P2
42 110
P4
5 7
P2 P1
16
Limitations of SJF (i)
SJF is the optimal solution The problem with SJF is the inability to
predict required CPU burst times Apply a prediction algorithm that uses
previous CPU burst times Algorithm uses exponential averaging:▪ tn = actual length of the nth CPU burst▪ τn+1 = predicted value for the next CPU burst▪ τn+1 = α tn + (1 – α) τn , where 0 < α < 1
Limitations of SJF (ii)
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 msP2 2 msP3 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 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 scheduling
algorithm 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 5P2 0 5 ms 3P3 20 ms 15 ms 1P4 60 ms 25 ms 2
lower number indicatesa higher priority
recalculate usingcontext switchtime tcs = 20 μs
Recommended