chapter 9 uniprocessor scheduling spring, 2011 school of computer science & engineering...

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

Upload: rudolph-nicholson

Post on 27-Dec-2015

221 views

Category:

Documents


1 download

TRANSCRIPT

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

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

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

Types of Scheduling

3

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

Scheduling and Process State Transitions

4

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

Levels of Scheduling

5

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

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

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

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

Queuing Diagram

9

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

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

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

Scheduling Criteria

12

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

Scheduling Criteria

13

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

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

Priority Queuing

15

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

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

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

Process Scheduling Example

18

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

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

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

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

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

Effect of Size of Preemption Time Quantum

23

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

Effect of Size of Preemption Time Quantum

24

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

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

Queuing Diagram

26

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

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

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

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

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

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

Feedback Scheduling

32

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

Scheduling Policies

33

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

Comparison of Scheduling Policies

34

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

Comparison of Scheduling Policies

35

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

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

Fair-Share Scheduler

37

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

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

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

Example of Traditional UNIX Process Scheduling

40