Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University
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
Types of Scheduling 3
Scheduling and Process State Transitions 4
Levels of Scheduling 5
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
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
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
Queuing Diagram 9
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
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
Scheduling Criteria 12
Scheduling Criteria 13
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
Priority Queuing 15
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
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
Process Scheduling Example 18
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
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
Round Robin Uses preemption based on a clock 21
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 slicing 22
Effect of Size of Preemption Time Quantum 23
Effect of Size of Preemption Time Quantum 24
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 unfairness 25
Queuing Diagram 26
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
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
Shortest Remaining Time Preemptive version of SPN Must estimate processing time A risk of starvation of longer processes Elapsed times must be recorded 29
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
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
Feedback Scheduling 32
Scheduling Policies 33
Comparison of Scheduling Policies 34
Comparison of Scheduling Policies 35
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
Fair-Share Scheduler 37
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
Bands Decreasing order of priority –Swapper –Block I/O device control –File manipulation –Character I/O device control –User processes 39
Example of Traditional UNIX Process Scheduling 40