Download presentation
Presentation is loading. Please wait.
Published byRudolph Nicholson Modified over 9 years ago
1
Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University
2
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
3
Types of Scheduling 3
4
Scheduling and Process State Transitions 4
5
Levels of Scheduling 5
6
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
7
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
8
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
9
Queuing Diagram 9
10
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
11
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
12
Scheduling Criteria 12
13
Scheduling Criteria 13
14
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
15
Priority Queuing 15
16
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
17
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
18
Process Scheduling Example 18
19
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
20
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
21
Round Robin Uses preemption based on a clock 21
22
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
23
Effect of Size of Preemption Time Quantum 23
24
Effect of Size of Preemption Time Quantum 24
25
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
26
Queuing Diagram 26
27
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
28
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
29
Shortest Remaining Time Preemptive version of SPN Must estimate processing time A risk of starvation of longer processes Elapsed times must be recorded 29
30
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
31
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
32
Feedback Scheduling 32
33
Scheduling Policies 33
34
Comparison of Scheduling Policies 34
35
Comparison of Scheduling Policies 35
36
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
37
Fair-Share Scheduler 37
38
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
39
Bands Decreasing order of priority –Swapper –Block I/O device control –File manipulation –Character I/O device control –User processes 39
40
Example of Traditional UNIX Process Scheduling 40
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.