42
1 Uniprocessor Scheduling Chapter 9

1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

  • View
    230

  • Download
    1

Embed Size (px)

Citation preview

Page 1: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

1

Uniprocessor Scheduling

Chapter 9

Page 2: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

2

Aims of Scheduling

• Assign processes to be executed by the processor(s)

• Response time

• Throughput

• Processor efficiency

Page 3: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

3

Page 4: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

4

Page 5: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

5

Page 6: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

6

Page 7: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

7

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• Two issues:

– When to accept new processes?

– Which processes to accept?

Page 8: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

8

Medium-Term Scheduling

• Part of the swapping function

• Based on the need to manage the degree of multiprogramming

Page 9: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

9

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 10: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

10

Short-Term Scheduling Criteria

• User-oriented– Response Time

• Elapsed time between the submission of a request until there is output.

• System-oriented– Effective and efficient utilization of the

processor

Page 11: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

11

Short-Term Scheduling Criteria

• Performance-related– Quantitative– Measurable such as response time and

throughput

Page 12: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

12

Page 13: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

13

Page 14: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

14

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– Allow a process to change its priority based

on its age or execution history

Page 15: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

15

Page 16: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

16

Decision Mode

• Nonpreemptive– Once a process is in the running state, it will

continue until it terminates or blocks itself for I/O

• Preemptive– Currently running process may be interrupted and

moved to the Ready state by the operating system

– Allows for better service since any one process cannot monopolize the processor for very long

Page 17: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

17

Process Scheduling Example

(1) Finish time(2) Turnaround time(3) Residence time or total time that the item spends(4) Normalized turnaround time (2/3)

Page 18: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

18

First-Come-First-Served(FCFS)

• Each process joins the Ready queue• When the current process ceases to execute,

the oldest process in the Ready queue is selected

Page 19: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

19

First-Come-First-Served(FCFS)

• A short process may have to wait a very long time before it can execute

• Favors CPU-bound processes– I/O processes have to wait until CPU-bound

process completes

Page 20: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

20

Round-Robin

• Uses preemption based on a clock• An amount of time is determined that

allows each process to use the processor for that length of time

Page 21: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

21

Round-Robin

• Clock interrupt is generated at periodic intervals

• When an interrupt occurs, the currently running process is placed in the ready queue– Next ready job is selected

• Known as time slicing

Page 22: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

22

Page 23: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

23Figure 9.7 Queuing Diagram for Virtual Round-Robin Scheduler

I/O 1 Wait

I/O 2 Wait

I/O n Wait

Dispatch

Time-out

ReleaseReady Queue

AdmitProcessor

I/O 1 Queue

Auxiliary Queue

I/O 1Occurs

I/O 2Occurs

I/O nOccurs

I/O 2 Queue

I/O n Queue

Page 24: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

24

Shortest Process Next

• Nonpreemptive policy• Process with shortest expected processing time

is selected next• Short process jumps ahead of longer processes

Page 25: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

25

Shortest Process Next

• Predictability of longer processes is reduced

• If estimated time for process not correct, the operating system may abort it

• Possibility of starvation for longer processes

Page 26: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

26

Page 27: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

27

Page 28: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

28

Shortest Remaining Time

• Preemptive version of shortest process next policy

• Must estimate processing time

Page 29: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

29

Highest Response Ratio Next (HRRN)

• Choose next process with the greatest ratio

time spent waiting + expected service timeR = ____________________________________

expected service time

Page 30: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

30

Feedback

• Penalize jobs that have been running longer• Don’t know remaining time process needs to

execute

Page 31: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

31

Page 32: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

32

Page 33: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

33

Page 34: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

34

Page 35: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

35

Page 36: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

36

Page 37: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

37

Page 38: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

38

Page 39: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

39

Page 40: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

40

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 41: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

41

Page 42: 1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency

45