47
1 Uniprocessor Scheduling Chapter 9

Uniprocessor Scheduling

  • Upload
    huyen

  • View
    25

  • Download
    0

Embed Size (px)

DESCRIPTION

Uniprocessor Scheduling. Chapter 9. Aim of Scheduling. Main Job : Assign processes to be executed by the processor(s) and processes to be loaded in main memory. Decision Methods (Processor) Response time (Key in GUI systems) Throughput (Not as important today) - PowerPoint PPT Presentation

Citation preview

Page 1: Uniprocessor Scheduling

1

Uniprocessor Scheduling

Chapter 9

Page 2: Uniprocessor Scheduling

2

Aim of Scheduling

• Main Job: Assign processes to be executed by the processor(s) and processes to be loaded in main memory.

• Decision Methods (Processor)– Response time (Key in GUI systems)– Throughput (Not as important today)– Processor efficiency (Avoiding Thrashing)

Page 3: Uniprocessor Scheduling

3

Page 4: Uniprocessor Scheduling

4

Page 5: Uniprocessor Scheduling

5

Page 6: Uniprocessor Scheduling

6

Decision Mode• Nonpreemptive

– Once a process is in the running state, it will continue until it terminates or blocks itself for I/O

– System vs. User process preemptiability• 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 7: Uniprocessor Scheduling

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

Page 8: Uniprocessor Scheduling

8

Medium-Term Scheduling

• Part of the swapping function.• Based on the need to manage the degree

of multiprogramming.• Dealing with Load Control.

Page 9: Uniprocessor Scheduling

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: Uniprocessor Scheduling

10

Short-Tem Scheduling Criteria

• User-oriented– Turnaround Time – When your program

can finish– Deadlines – When a program has goals.– Response Time

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

– Predictability – consistent response times

Page 11: Uniprocessor Scheduling

11

User Oriented Scheduling

• Decisecond Response Time – Instant response

• Subsecond Response Time – Near instant response

• Less than 2 seconds – Quick response

Page 12: Uniprocessor Scheduling

12

User Oriented Scheduling

• 2 to 4 seconds - Slow• Greater than 4 seconds – Unbearable

Slow• Greater than 15 seconds – Trip to the

kitchen slow

Page 13: Uniprocessor Scheduling

13

Short-Term Scheduling Criteria

• System-oriented– Throughput– Processor Utilization– Balancing Resources– Fairness– Enforcing Priorities

Page 14: Uniprocessor Scheduling

14

Priority Scheduling

• 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 processes can starve– Upgrading a processes priority the longer it

doesn’t run.

Page 15: Uniprocessor Scheduling

15

Page 16: Uniprocessor Scheduling

16

Different Short-Term Process Schedulers

Page 17: Uniprocessor Scheduling

17

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 18: Uniprocessor Scheduling

18

First-Come-First-Served(FCFS)

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

• Bad for systems that need fast user response times.

• Not as much swapping of processes.• Favors CPU-bound processes

– I/O processes have to wait until CPU-bound process completes

Page 19: Uniprocessor Scheduling

19

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 20: Uniprocessor Scheduling

20

Round-Robin• Clock interrupt is generated at periodic

intervals• When an interrupt occurs, the currently

running process is placed in the read queue– Next ready job is selected

• Known as time slicing• A lot more swapping than FCFS• Better response times per process, but not

better throughput

Page 21: Uniprocessor Scheduling

21

Page 22: Uniprocessor Scheduling

22

Shortest Process Next

• Nonpreemptive policy• Process with shortest expected processing time

is selected next• Short process jumps ahead of longer processes

Page 23: Uniprocessor Scheduling

23

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 24: Uniprocessor Scheduling

24

Shortest Remaining Time

• Preemptive version of shortest process next policy

• Must estimate processing time

Page 25: Uniprocessor Scheduling

25

Highest Response Ratio Next (HRRN)

• Choose next process with the greatest ratio

time spent waiting + expected service timeexpected service time

Page 26: Uniprocessor Scheduling

26

Feedback

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

execute

Page 27: Uniprocessor Scheduling

27

Page 28: Uniprocessor Scheduling

28

Page 29: Uniprocessor Scheduling

29

Page 30: Uniprocessor Scheduling

30

Page 31: Uniprocessor Scheduling

31

Page 32: Uniprocessor Scheduling

32

Page 33: Uniprocessor Scheduling

33

Page 34: Uniprocessor Scheduling

34

Page 35: Uniprocessor Scheduling

35

Page 36: Uniprocessor Scheduling

36

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 37: Uniprocessor Scheduling

37

Page 38: Uniprocessor Scheduling

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

• Base priority divides all processes into fixed bands of priority levels

Page 39: Uniprocessor Scheduling

39

Bands

• Decreasing order of priority– Swapper– Block I/O device control– File manipulation– Character I/O device control– User processes

Page 40: Uniprocessor Scheduling

40

Page 41: Uniprocessor Scheduling

41

Extra Slides

Page 42: Uniprocessor Scheduling

42

Page 43: Uniprocessor Scheduling

43

Page 44: Uniprocessor Scheduling

44

Page 45: Uniprocessor Scheduling

45

Page 46: Uniprocessor Scheduling

46

Page 47: Uniprocessor Scheduling

47