Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University.

Similar presentations


Presentation on theme: "Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University."— Presentation transcript:

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


Download ppt "Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University."

Similar presentations


Ads by Google