0% found this document useful (0 votes)
200 views58 pages

Uniprocessor Scheduling PDF

Uploaded by

marco.dado2700
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
200 views58 pages

Uniprocessor Scheduling PDF

Uploaded by

marco.dado2700
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 58

Operating Systems:

Internals and Design Principles, 6/E


William Stallings

Chapter 9
Uniprocessor Scheduling

Dave Bremer
Otago Polytechnic, N.Z.
2008, Prentice Hall

Roadmap
Types of Processor Scheduling
Scheduling Algorithms
Traditional UNIX Scheduling

Scheduling
An OS must allocate resources amongst
competing processes.
The resource provided by a processor is
execution time
The resource is allocated by means of a
schedule

Overall Aim
of Scheduling
The aim of processor scheduling is to
assign processes to be executed by the
processor over time,
in a way that meets system objectives, such
as response time, throughput, and processor
efficiency.

Scheduling Objectives
The scheduling function should
Share time fairly among processes
Prevent starvation of a process
Use the processor efficiently
Have low overhead
Prioritise processes when necessary (e.g. real
time deadlines)

Types of Scheduling

Two Suspend States


Remember this diagram from Chapter 3

Scheduling and
Process State Transitions

Nesting of
Scheduling Functions

Queuing Diagram

Long-Term Scheduling
Determines which programs are admitted
to the system for processing
May be first-come-first-served
Or according to criteria such as priority, I/O
requirements or expected execution time

Controls the degree of multiprogramming


More processes, smaller percentage of
time each process is executed

Medium-Term
Scheduling
Part of the swapping function
Swapping-in decisions are based on the
need to manage the degree of
multiprogramming

Short-Term Scheduling
Known as the dispatcher
Executes most frequently
Invoked when an event occurs
Clock interrupts
I/O interrupts
Operating system calls
Signals

Roadmap
Types of Processor Scheduling
Scheduling Algorithms
Traditional UNIX Scheduling

Aim of Short
Term Scheduling
Main objective is to allocate processor
time to optimize certain aspects of system
behaviour.
A set of criteria is needed to evaluate the
scheduling policy.

Short-Term Scheduling
Criteria: User vs System
We can differentiate between user and
system 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

Short-Term Scheduling
Criteria: Performance
We could differentiate between
performance related criteria, and those
unrelated to performance
Performance-related
Quantitative, easily measured
E.g. response time and throughput

Non-performance related
Qualitative
Hard to measure

Interdependent
Scheduling Criteria

Interdependent
Scheduling Criteria cont.

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

Priority Queuing

Starvation
Problem:
Lower-priority may suffer starvation if there is
a steady supply of high priority processes.

Solution
Allow a process to change its priority based
on its age or execution history

Alternative Scheduling
Policies

Selection Function
Determines which process is selected for
execution
If based on execution characteristics then
important quantities are:
w = time spent in system so far, waiting
e = time spent in execution so far
s = total service time required by the process,
including e;

Decision Mode
Specifies the instants in time at which the
selection function is exercised.
Two categories:
Nonpreemptive
Preemptive

Nonpreemptive vs
Premeptive
Non-preemptive
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 ready state by the OS
Preemption may occur when new process
arrives, on an interrupt, or periodically.

Process Scheduling
Example
Example set of
processes,
consider each a
batch job

Service time represents total execution time

First-ComeFirst-Served
Each process joins the Ready queue
When the current process ceases to
execute, the longest process in the Ready
queue is selected

First-ComeFirst-Served
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

Round Robin
Uses preemption based on a clock
also known as time slicing, because each
process is given a slice of time before being
preempted.

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

Effect of Size of
Preemption Time Quantum

Effect of Size of
Preemption Time Quantum

Virtual Round Robin

Shortest Process Next


Nonpreemptive policy
Process with shortest expected processing
time is selected next
Short process jumps ahead of longer
processes

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

Calculating
Program Burst
Where:
Ti = processor execution
time for the ith instance of
this process
Si = predicted value for
the ith instance
S1 = predicted value for
first instance; not
calculated

Exponential Averaging
A common technique for predicting a
future value on the basis of a time series
of past values is exponential averaging

Exponential Smoothing
Coefficients

Use Of Exponential
Averaging

Use Of
Exponential Averaging

Shortest Remaining
Time
Preemptive version of shortest process
next policy
Must estimate processing time and choose
the shortest

Highest Response
Ratio Next
Choose next process with the greatest
ratio

Feedback Scheduling
Penalize jobs that
have been running
longer
Dont know
remaining time
process needs to
execute

Feedback Performance
Variations exist, simple version pre-empts
periodically, similar to round robin
But can lead to starvation

Performance
Comparison
Any scheduling discipline that chooses the
next item to be served independent of
service time obeys the relationship:

Formulas

Overall Normalized
Response Time

Normalized Response
Time for Shorter Process

Normalized Response
Time for Longer Processes

Normalized
Turnaround Time

Fair-Share Scheduling
Users 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

Fair-Share Scheduler

Roadmap
Types of Processor Scheduling
Scheduling Algorithms
Traditional UNIX Scheduling

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
Priority is based on process type and
execution history.

Scheduling Formula

Bands
Priorities are recomputed once per second
Base priority divides all processes into
fixed bands of priority levels
Swapper (highest)
Block I/O device control
File manipulation
Character I/O device control
User processes (lowest)

Example of Traditional
UNIX Process Scheduling

You might also like