Uniprocessor Scheduling

Preview:

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

1

Uniprocessor Scheduling

Chapter 9

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)

3

4

5

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

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

8

Medium-Term Scheduling

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

of multiprogramming.• Dealing with Load Control.

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

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

11

User Oriented Scheduling

• Decisecond Response Time – Instant response

• Subsecond Response Time – Near instant response

• Less than 2 seconds – Quick response

12

User Oriented Scheduling

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

Slow• Greater than 15 seconds – Trip to the

kitchen slow

13

Short-Term Scheduling Criteria

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

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.

15

16

Different Short-Term Process Schedulers

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

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

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

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

21

22

Shortest Process Next

• Nonpreemptive policy• Process with shortest expected processing time

is selected next• Short process jumps ahead of longer processes

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

24

Shortest Remaining Time

• Preemptive version of shortest process next policy

• Must estimate processing time

25

Highest Response Ratio Next (HRRN)

• Choose next process with the greatest ratio

time spent waiting + expected service timeexpected service time

26

Feedback

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

execute

27

28

29

30

31

32

33

34

35

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

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

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

39

Bands

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

40

41

Extra Slides

42

43

44

45

46

47

Recommended