uniprocessor scheduling chapter 9 operating systems: internals and design principles, 6/e william...
TRANSCRIPT
![Page 1: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/1.jpg)
Uniprocessor Scheduling
Chapter 9Operating Systems:
Internals and Design Principles, 6/EWilliam Stallings
Patricia RoyManatee Community College, Venice, FL
©2008, Prentice Hall
![Page 2: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/2.jpg)
CPU- and I/O-bound processes
• Bursts of CPU usage alternate with periods of I/O wait– a CPU-bound process– an I/O bound process
![Page 3: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/3.jpg)
Goals of Scheduling
![Page 4: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/4.jpg)
Types of Scheduling
![Page 5: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/5.jpg)
Scheduling and Process State Transitions
![Page 6: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/6.jpg)
Levels of Scheduling
![Page 7: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/7.jpg)
Queuing Diagram
![Page 8: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/8.jpg)
Long-Term Scheduling
• Determines which programs are admitted to the system for processing
• Controls the degree of multiprogramming
• More processes, smaller percentage of time each process is executed
![Page 9: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/9.jpg)
Medium-Term Scheduling
• Part of the swapping function
• Based on the need to manage the degree of multiprogramming
![Page 10: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/10.jpg)
Short-Term Scheduling
• Known as the dispatcher
• Executes most frequently
• Invoked when an event occurs– Clock interrupts– I/O interrupts– Operating system calls– Signals
![Page 11: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/11.jpg)
Priorities
• Scheduler will always choose a process of higher priority over one of lower priority
• Have multiple ready queues to represent each level of priority
• Lower-priority may suffer starvation– Change process priority based on its age or
execution history – dynamic allocation of priorities
![Page 12: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/12.jpg)
Priority Queuing
![Page 13: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/13.jpg)
Decision Mode
• Non-preemptive– Once a process is in the running state, it will
continue until it terminates or blocks for I/O
• Preemptive– Currently running process may be interrupted
and moved to the Ready state by the OS– Allows for better service, since no process
can monopolize the processor for very long
![Page 14: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/14.jpg)
Process Scheduling Example
![Page 15: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/15.jpg)
First-Come-First-Served (non-preemtive)
• Each process joins the Ready queue
• When the current process ceases to execute, the longest process in the Ready queue is selected
![Page 16: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/16.jpg)
First-Come-First-Served (2)
• A short process may have to wait a very long time before it can execute
• Favours CPU-bound processes– I/O processes have to wait until CPU-bound
process completes
![Page 17: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/17.jpg)
Round Robin
• Uses preemption based on a clock
![Page 18: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/18.jpg)
Round Robin (2)
• Clock interrupt is generated at periodic intervals (dozens of msec)
• When an interrupt occurs, the currently running process is placed in the ready queue– Next ready job is selected
• Known as time slicing
![Page 19: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/19.jpg)
Virtual Round-Robin
![Page 20: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/20.jpg)
Shortest Process Next• Non-preemptive policy
• Process with shortest expected processing time is selected next
• Short process jumps ahead of longer processes
![Page 21: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/21.jpg)
Shortest Process Next (2)
• OS has to estimate remaining running time or length of next CPU burst – weighted average
• Possibility of starvation for longer processes
![Page 22: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/22.jpg)
Exponential Smoothing Coefficients
![Page 23: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/23.jpg)
Use Of Exponential Averaging
![Page 24: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/24.jpg)
Use Of Exponential Averaging (2)
![Page 25: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/25.jpg)
Shortest Remaining Time
• Preemptive version of shortest process next policy
• Must estimate processing time
![Page 26: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/26.jpg)
Highest Response Ratio Next
• Choose next process with the greatest ratio
![Page 27: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/27.jpg)
Feedback Scheduling
![Page 28: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/28.jpg)
Feedback• Penalize jobs that have been running
longer
• Don’t know remaining time process needs to execute
![Page 29: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/29.jpg)
Scheduling Policies
![Page 30: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/30.jpg)
Comparison of Scheduling Policies
![Page 31: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/31.jpg)
Comparison of Scheduling Policies (cont.)
![Page 32: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/32.jpg)
Normalized Turnaround Time
![Page 33: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/33.jpg)
Fair-Share Scheduling
• User’s application runs as a collection of processes (threads)
• User is concerned about the performance of the application
• Need to make scheduling decisions based on process sets
![Page 34: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/34.jpg)
Policy versus Mechanism
• Separate what is allowed to be done with how it is done– a process knows which of its children
threads are important and need priority
• Scheduling algorithm parameterized– mechanism in the kernel
• Parameters filled in by user processes– policy set by user process for its threads
• Lottery scheduling
![Page 35: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/35.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 the quantum, it is preempted
• Priorities are recomputed once per second
![Page 36: Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,](https://reader035.vdocuments.us/reader035/viewer/2022062312/5515d36c550346d46f8b472c/html5/thumbnails/36.jpg)
UNIX Scheduler
The UNIX scheduler is based on a multilevel queue structure