Schedulingalgorithms and Algorithm Evaluation
Schedulingalgorithms and Algorithm Evaluation
Schedulingalgorithms and Algorithm Evaluation
CPU burst
It Involves 2 Steps :-
Switching Context.
Jumping to the proper location in the
program to re-start the program.
Preemptive Scheduling
OS can force (preempt) A process from CPU at
anytime. For example :-
To allocate CPU to another higher priority
processes.
Due to end of time slice.
Types of schedulers:
1. long-term scheduler:
• selects process and loads it into memory for execution
• decides which process to start based on order and priority
• not used in timesharing systems
2. medium-term scheduler:
• schedule processes based on resources they require (memory, I/O)
• suspend processes for which adequate resources are not currently
available
• commonly, main memory is the limiting resource and the memory
manager acts as the medium term scheduler
3. short-term scheduler (CPU scheduler):
• shares the processor among the ready (runnable) processes
• crucial the short-term scheduler be very fast -- a fast decision is more
important than an excellent decision
• if a process requires a resource (or input) that it does not have, it is
removed from the ready list (and enters the WAITING state)
• uses a data structure called a ready list to identify ready processes
• started in response to a clock interrupt or when a process is suspended or
exits
1. When A process switches from the running state to waiting
state ( due to an I/O request ).
P1 P2 P3
0 24 27 30
Chart 1
In first two cases, process will release the CPU by its own.
In the third case, the current process is preempted.
Process Burst time (ms)
P1 24
P2 3
P3 3
P1 P2 P3 P1 P1 P1 P1 P1
0 4 7 10 14 18 22 26 30
5.66 ms
ADVANTAGE
S Simple and easy to implement.
Each processes get equal chance to
execute. Handling all processes without
priority.
Starvation free.
DISADVANTAGES
Depend upon the length of the time slice.
Same as FCFS, if time slice is indefinitely
large.
Small time slice will deteriorates due to
frequent context
switching.
► A priority number (integer) is associated with each
process.
P2 P5 P1 P3 P4
0 1 6 16 18 19
Chart 1
ADVANTAGES
► Aging :- As time increases , increase in the priority of a process.
► Simplicity.
► Suitable for applications with varying time and resource
requirement.
► Length of CPU burst of each process is considered.
P 4
P 1
P3 P2
0 3 9 16 24
DISADVANTAGES
► Accurate length of CPU burst is not known.
► Some risk of Starvation for longer processes.
Multilevel Queue
Scheduling
• A new job enters queue Q0 which is served
FCFS
When it gains CPU, job receives 8
milliseconds
If it does not finish in 8 milliseconds,
job is moved to queue Q1
• At Q1 job is again served FCFS and receives 16
additional milliseconds
If it still does not complete, it is
preempted and moved to queue Q2
Multilevel Feedback
Queue
A process can move between the various
queues;
Multilevel-feedback-queue scheduler defined
by the following parameters:
1. number of queues
2. scheduling algorithms for each queue
Example of Multilevel Feedback
Queue
Scheduling algorithm CPU Overhead Throughput Turnaround time Response time
Priority
Medium Low High High
based
scheduling
Multilevel Queue
High High Medium Medium
scheduling
Multiprocessor Scheduling
'' On a multiprocessor, scheduling is two
dimensional. The scheduler has to decide which
process to run and which CPU to run it on. This extra
dimension greatly complicates scheduling on
multiprocessors.
Algorithm Evaluation
• How to select CPU-scheduling algorithm for an OS?
• Determine criteria, then evaluate algorithms
• Deterministic modeling
Type of analytic evaluation
Takes a particular predetermined workload and defines the performance
of each algorithm for that workload
• Consider 5 processes arriving at time 0:
Deterministic Evaluation
For each algorithm, calculate minimum average waiting
time
Simple and fast, but requires exact numbers for input,
applies only to those inputs
FCFS is 28ms:
RR is 23ms:
Queuing models
• Describes the arrival of processes, and CPU and I/O
bursts probabilistically
Commonly exponential, and described by mean
Computes average throughput, utilization, waiting time, etc
• Computer system described as network of servers,
each with queue of waiting processes
Knowing arrival rates and service rates
Computes utilization, average queue length, average wait time, etc
Little’s Formula
n = average queue length
W = average waiting time in queue
λ = average arrival rate into queue
Little’s law – in steady state, processes leaving queue
must equal processes arriving, thus:
n=λxW
Valid for any scheduling algorithm and arrival distribution
For example, if on average 7 processes arrive per
second, and normally 14 processes in queue, then
average wait time per process = 2 seconds
Simulations
Queueing models limited
Simulations more accurate
• Programmed model of computer system
• Clock is a variable
• Gather statistics indicating algorithm performance
• Data to drive simulation gathered via
Random number generator according to probabilities
Distributions defined mathematically or empirically
Trace tapes record sequences of real events in real systems
Evaluation of CPU Schedulers by
Simulation
Implementation
Even simulations have limited accuracy
Just implement new scheduler and test in real systems
• High cost, high risk
• Environments vary
Most flexible schedulers can be modified per-site or per-system
Or APIs to modify priorities
But again environments vary