Download presentation
Presentation is loading. Please wait.
Published byAllan Payne Modified over 9 years ago
1
Operating Systems CMPSC 473 CPU Scheduling September 07, 2010 - Lecture 5 Instructor: Bhuvan Urgaonkar
2
From last class Context switch: why store a subset of registers on process stack rather than on its PCB? –Memory reserved for kernel more precious than that for processes
3
Choosing the Right Scheduling Algorithm/Scheduling Criteria 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) Throughput – # of processes that complete their execution per time unit Turnaround time – amount of time to execute a particular process Fairness
4
Shortest-Job-First (SJF) Scheduling Associate with each process the length of its next CPU burst. Use these lengths to schedule the process with the shortest time SJF is optimal for avg. waiting time – gives minimum average waiting time for a given set of processes –In class: Compute average waiting time for the previous example with SJF –Exercise: Prove the optimality claimed above
5
Why Pre-emption is Necessary To improve CPU utilization –Most processes are not ready at all times during their lifetimes –E.g., think of a text editor waiting for input from the keyboard –Also improves I/O utilization To improve responsiveness –Many processes would prefer “slow but steady progress” over “long wait followed by fast process” Most modern CPU schedulers are pre-emptive
6
SJF: Variations on the theme Non-preemptive: once CPU given to the process it cannot be preempted until completes its CPU burst - the SJF we already saw Preemptive: if a new process arrives with CPU length less than remaining time of current executing process, preempt. This scheme is know as Shortest-Remaining-Time-First (SRTF) Also called Shortest Remaining Processing Time (SRPT) Why SJF/SRTF may not be practical CPU requirement of a process rarely known in advance
7
Round Robin (RR) Each process gets a small unit of CPU time (time quantum), usually 10-100 milliseconds. After this time has elapsed, the process is preempted and added to the end of the ready queue. If there are n processes in the ready queue and the time quantum is q, then each process gets 1/n of the CPU time in chunks of at most q time units at once. No process waits more than (n-1)q time units. Performance –q large => FCFS –q small => q must be large with respect to context switch, otherwise overhead is too high
8
Example of RR with Time Quantum = 20 ProcessCPU Time P 1 53 P 2 17 P 3 68 P 4 24 The Gantt chart is: Typically, higher average turnaround than SJF, but better response P1P1 P2P2 P3P3 P4P4 P1P1 P3P3 P4P4 P1P1 P3P3 P3P3 02037577797117121134154162
9
Time Quantum and Context Switch Time
10
Turnaround Time Varies With Time Quantum
11
Proportional-Share Schedulers A generalization of round robin Process P i given a CPU weight w i > 0 The scheduler needs to ensure the following –forall i, j, |T i (t 1, t 2 )/T j (t 1,t 2 ) - w i /w j | ≤ e –Given P i and P j were backlogged during [t 1,t 2 ] Who chooses the weights and how?
12
Lottery Scheduling [Carl Waldspurger, MIT, ~1995] Perhaps the simplest proportional-share scheduler Create lottery tickets equal to the sum of the weights of all processes –What if the weights are non-integral? Draw a lottery ticket and schedule the process that owns that ticket –What if the process is not ready? Draw tickets only for ready processes –Exercise: Calculate the time/space complexity of the operations Lottery scheduling will involve
13
Lottery Scheduling Example 14 25 36 710 811 912 13 14 15 9 P1=6P2=9 Schedule P2
14
14 25 36 710 811 912 13 14 15 3 P1=6P2=9 Schedule P1 Lottery Scheduling Example
15
14 2511 6 710 8 3912 13 14 15 11 As t ∞, processes will get their share (unless they were blocked a lot) Problem with Lottery scheduling: Only probabilistic guarantee What does the scheduler have to do –When a new process arrives? –When a process terminates? P1=6P2=9 Schedule P2 Lottery Scheduling Example
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.