chapter 9 uniprocessor scheduling spring, 2011 school of computer science & engineering...
TRANSCRIPT
![Page 1: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/1.jpg)
Chapter 9Uniprocessor Scheduling
Spring, 2011
School of Computer Science & Engineering
Chung-Ang University
![Page 2: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/2.jpg)
Aim of Processor Scheduling
• Assign processes to be executed by the processor(s) over time, in a way that meets system objectives such as– Response time– Throughput– Processor efficiency
2
![Page 3: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/3.jpg)
Types of Scheduling
3
![Page 4: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/4.jpg)
Scheduling and Process State Transitions
4
![Page 5: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/5.jpg)
Levels of Scheduling
5
![Page 6: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/6.jpg)
Long-Term Scheduling
• Performed when a new process is created• Determines which programs are admitted
to the system for processing• Controls the degree of multiprogramming• Two decisions
– When to take on one or more additional processes
– Which job(s) to accept and turn into processes
6
![Page 7: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/7.jpg)
Medium-Term Scheduling
• Part of the swapping function• A decision whether to add a process to
those that are at least partially in main memory and therefore available for execution
• The swapping-in decision is based on the need to manage the degree of multiprogramming
7
![Page 8: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/8.jpg)
Short-Term Scheduling
• Known as the dispatcher• Executes most frequently• Invoked whenever an event occurs that
may lead to the blocking of the current process– Clock interrupts– I/O interrupts– Operating system calls– Signals(e.g., semaphores)
8
![Page 9: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/9.jpg)
Queuing Diagram
9
![Page 10: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/10.jpg)
Short-Term Scheduling Criteria
• User-oriented : Response Time– Elapsed time between the submission of a
request until there is output– Maximize the number of users with average
response time of 2 sec. or less
• System-oriented : Throughput– Efficient utilization of the processor– Maximize the number of processes completed
per unit of time
10
![Page 11: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/11.jpg)
Short-Term Scheduling Criteria
• Performance-related– Quantitative– Measurable such as response time and
throughput
• Not directly performance-related– Qualitative– Not readily measurable such as predictability
11
![Page 12: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/12.jpg)
Scheduling Criteria
12
![Page 13: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/13.jpg)
Scheduling Criteria
13
![Page 14: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/14.jpg)
Priorities
• Scheduler will always choose a process of higher priority over one of lower priority
• Use multiple ready queues to represent multiple levels of priority
• Lower-priority may suffer starvation– Allow a process to change its priority based
on its age or execution history
14
![Page 15: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/15.jpg)
Priority Queuing
15
![Page 16: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/16.jpg)
Decision Mode
• Specifies the instances in time at which the selection function is excercised
• Nonpreemptive– Once a process is in the running state, it will
continue until it terminates or blocks itself for I/O or to request some OS service
16
![Page 17: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/17.jpg)
Decision Mode
• Preemptive– Currently running process may be interrupted
and moved to the Ready state by the operating system
• When a new process arrives• When an interrupt occurs• Periodically, based on a clock interrupt
– Allows for better service since any one process cannot monopolize the processor for very long
17
![Page 18: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/18.jpg)
Process Scheduling Example
18
![Page 19: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/19.jpg)
First-Come-First-Served
• Each process joins the Ready queue• When the current process ceases to
execute, the process that has been in the Ready queue the longest is selected
19
![Page 20: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/20.jpg)
First-Come-First-Served
• A short process may have to wait a very long time before it can execute
• Favors CPU-bound processes– Short I/O processes have to wait until a long
CPU-bound process completes
• Not an attractive alternative on its own, and so often combined with a priority scheme
20
![Page 21: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/21.jpg)
Round Robin
• Uses preemption based on a clock
21
![Page 22: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/22.jpg)
Round Robin
• A clock interrupt is generated at periodic intervals
• The principle design issue: the length of the time quantum
• When an interrupt occurs, the currently running process is placed in the ready queue– Next ready job is selected on a FCFS basis
• Known as time slicing22
![Page 23: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/23.jpg)
Effect of Size of Preemption Time Quantum
23
![Page 24: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/24.jpg)
Effect of Size of Preemption Time Quantum
24
![Page 25: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/25.jpg)
Round Robin
• Particularly effective in a general-purpose time-sharing system or transaction processing system
• Processor-bound processes tend to receive an unfair portion of processor time– Poor performance for I/O-bound processes– Inefficient use of I/O devices– An increase in the variance of response time
• A VRR may avoid this unfairness25
![Page 26: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/26.jpg)
Queuing Diagram
26
![Page 27: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/27.jpg)
Shortest Process Next
• Nonpreemptive policy for reducing bias in favor of long processes
• Process with shortest expected processing time is selected next
• Short process jumps ahead of longer processes
27
![Page 28: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/28.jpg)
Shortest Process Next• Overall performance is significantly
improved in terms of response time– However, the variability of response time
increases, especially for longer processes– Predictability of longer processes is reduced
• If the estimated time for process is substantially under the actual running time, the operating system may abort it
• The possibility of starvation for longer processes
28
![Page 29: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/29.jpg)
Shortest Remaining Time• Preemptive version of SPN • Must estimate processing time• A risk of starvation of longer processes• Elapsed times must be recorded
29
![Page 30: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/30.jpg)
Highest Response Ratio Next• Choose next process with the greatest ratio• Attractive because it accounts the age of
the process → A longer process will eventually get past competing shorter jobs
30
![Page 31: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/31.jpg)
Feedback• Penalize jobs that have been running longer• If we don’t know remaining time to execute,
let’s focus on the time spent so far• Newer, shorter processes are favored over
older, longer processes
31
![Page 32: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/32.jpg)
Feedback Scheduling
32
![Page 33: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/33.jpg)
Scheduling Policies
33
![Page 34: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/34.jpg)
Comparison of Scheduling Policies
34
![Page 35: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/35.jpg)
Comparison of Scheduling Policies
35
![Page 36: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/36.jpg)
Fair-Share Scheduling• User’s application runs as a collection of
processes (threads)• The concern is not how a particular process
performs but rather how his set of processes performs
• Need to make scheduling decisions based on process sets
• FSS monitors usage to give fewer resources to users who have had more than their fair share
36
![Page 37: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/37.jpg)
Fair-Share Scheduler
37
![Page 38: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/38.jpg)
Traditional UNIX Scheduling
• Multilevel feedback using round robin within each of the priority queues
• If a running process does not block or complete within 1 second, it is preempted
• Priorities are recomputed once per second• The base priority divides all processes into
fixed bands of priority levels
38
![Page 39: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/39.jpg)
Bands
• Decreasing order of priority– Swapper– Block I/O device control– File manipulation– Character I/O device control– User processes
39
![Page 40: Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e4b5503460f94b404f3/html5/thumbnails/40.jpg)
Example of Traditional UNIX Process Scheduling
40