uniprocessor scheduling chapter 9. aim of scheduling minimize response time maximize throughput...

30
Uniprocessor Scheduling Chapter 9

Upload: meryl-kelley

Post on 03-Jan-2016

226 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Uniprocessor Scheduling Chapter 9. Aim of Scheduling Minimize response time Maximize throughput Maximize processor efficiency

Uniprocessor Scheduling

Chapter 9

Page 2: Uniprocessor Scheduling Chapter 9. Aim of Scheduling Minimize response time Maximize throughput Maximize processor efficiency

Aim of Scheduling

• Minimize response time

• Maximize throughput

• Maximize processor efficiency

Page 3: Uniprocessor Scheduling Chapter 9. Aim of Scheduling Minimize response time Maximize throughput Maximize processor efficiency

Types of Scheduling

Page 4: Uniprocessor Scheduling Chapter 9. Aim of Scheduling Minimize response time Maximize throughput Maximize processor efficiency
Page 5: Uniprocessor Scheduling Chapter 9. Aim of Scheduling Minimize response time Maximize throughput Maximize processor efficiency
Page 6: Uniprocessor Scheduling Chapter 9. Aim of Scheduling Minimize response time Maximize throughput Maximize processor efficiency

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 7: Uniprocessor Scheduling Chapter 9. Aim of Scheduling Minimize response time Maximize throughput Maximize processor efficiency

Long-Term Scheduling

• Batch systems: – newly submitted jobs are routed to disk

and held in a batch queue.

• Time-sharing systems – the operating system will accept all

authorized comers until the system is saturated

Page 8: Uniprocessor Scheduling Chapter 9. Aim of Scheduling Minimize response time Maximize throughput Maximize processor efficiency

Long-Term Scheduling

• Decisions involved in taking a process from the queue:

A. Can the operating system can take on one or more additional processes?

B. Which job to be accepted and turned into a process

– first-come-first-served basis,

– priority,

– expected execution time,

– I/O requirements.

Page 9: Uniprocessor Scheduling Chapter 9. Aim of Scheduling Minimize response time Maximize throughput Maximize processor efficiency

Medium-Term Scheduling

• Part of the swapping function

• Based on the need to manage the degree of multiprogramming

Page 10: Uniprocessor Scheduling Chapter 9. Aim of Scheduling Minimize response time Maximize throughput Maximize processor efficiency

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 11: Uniprocessor Scheduling Chapter 9. Aim of Scheduling Minimize response time Maximize throughput Maximize processor efficiency

Short-Tem 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 12: Uniprocessor Scheduling Chapter 9. Aim of Scheduling Minimize response time Maximize throughput Maximize processor efficiency

Short-Term Scheduling Criteria

• Performance-related– Quantitative

• E.G. response time and throughput

• Not performance related– Qualitative

• E.G. Predictability

Page 13: Uniprocessor Scheduling Chapter 9. Aim of Scheduling Minimize response time Maximize throughput Maximize processor efficiency

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 14: Uniprocessor Scheduling Chapter 9. Aim of Scheduling Minimize response time Maximize throughput Maximize processor efficiency
Page 15: Uniprocessor Scheduling Chapter 9. Aim of Scheduling Minimize response time Maximize throughput Maximize processor efficiency
Page 16: Uniprocessor Scheduling Chapter 9. Aim of Scheduling Minimize response time Maximize throughput Maximize processor efficiency

Selection function – determines which process, among ready processes, is selected next for execution.

based on priority, resource requirements, or the execution characteristics of the process

w = time spent in system so far, waiting and executing e = time spent in execution so far s = total service time required by the process, including e; generally, this quantity must be estimated or supplied by the user

Alternative Scheduling PoliciesSelection function

Page 17: Uniprocessor Scheduling Chapter 9. Aim of Scheduling Minimize response time Maximize throughput Maximize processor efficiency

Alternative Scheduling PoliciesDecision mode

Decision mode – specifies the instants in time at which the selection function is exercised.

Non-preemptive: process continues to execute until (a) it terminates or (b) blocks itself to wait for I/O or to request

some operating system services.

Preemptive: process may be interrupted and moved to the Ready state by the operating system.

Page 18: Uniprocessor Scheduling Chapter 9. Aim of Scheduling Minimize response time Maximize throughput Maximize processor efficiency

Decision Mode

• 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 19: Uniprocessor Scheduling Chapter 9. Aim of Scheduling Minimize response time Maximize throughput Maximize processor efficiency

Process Scheduling Example

Page 20: Uniprocessor Scheduling Chapter 9. Aim of Scheduling Minimize response time Maximize throughput Maximize processor efficiency

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

0 5 10 15 20

1

2

3

4

5

Page 21: Uniprocessor Scheduling Chapter 9. Aim of Scheduling Minimize response time Maximize throughput Maximize processor efficiency

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 22: Uniprocessor Scheduling Chapter 9. Aim of Scheduling Minimize response time Maximize throughput Maximize processor efficiency

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

0 5 10 15 20

1

2

3

4

5

Page 23: Uniprocessor Scheduling Chapter 9. Aim of Scheduling Minimize response time Maximize throughput Maximize processor efficiency

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

Page 24: Uniprocessor Scheduling Chapter 9. Aim of Scheduling Minimize response time Maximize throughput Maximize processor efficiency

Shortest Process Next

• Non-preemptive policy• Process with shortest expected processing time

is selected next• Short process jumps ahead of longer processes

0 5 10 15 20

1

2

3

4

5

Page 25: Uniprocessor Scheduling Chapter 9. Aim of Scheduling Minimize response time Maximize throughput Maximize processor efficiency

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: Uniprocessor Scheduling Chapter 9. Aim of Scheduling Minimize response time Maximize throughput Maximize processor efficiency

Shortest Remaining Time

• Preemptive version of shortest process next policy

• Must estimate processing time

0 5 10 15 20

1

2

3

4

5

Page 27: Uniprocessor Scheduling Chapter 9. Aim of Scheduling Minimize response time Maximize throughput Maximize processor efficiency

Highest Response Ratio Next (HRRN)

• Choose next process with the highest ratio

time spent waiting + expected service timeexpected service time

1

2

3

4

5

0 5 10 15 20

Page 28: Uniprocessor Scheduling Chapter 9. Aim of Scheduling Minimize response time Maximize throughput Maximize processor efficiency

Feedback

• Penalize jobs that have been running longer

• Don’t know remaining time process needs to execute

0 5 10 15 20

1

2

3

4

5

Page 29: Uniprocessor Scheduling Chapter 9. Aim of Scheduling Minimize response time Maximize throughput Maximize processor efficiency
Page 30: Uniprocessor Scheduling Chapter 9. Aim of Scheduling Minimize response time Maximize throughput Maximize processor efficiency

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