day 25 uniprocessor scheduling. algorithm: selection function selection function – which process...
Post on 19-Dec-2015
215 views
TRANSCRIPT
Day 25Uniprocessor scheduling
Algorithm: Selection function
Selection function – which process among ready processes to select.
w – time spent in system, waiting and executing, so far
e – time spent in execution, so far s- total service time required by the process
Service time – the time that the process actually runs (includes e)
Algorithm: Decision Mode Non-pre-emptive
Once a process is in the running state, it will continue until it terminates or blocks itself for I/O
Selection function is used only when a process blocks or terminates
Pre-emptive Currently running process may be forced to release the
processor 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
More switching overhead Selection function is used when a process blocks or terminates
or when a new process enters the system or when a time slice expires.
First-Come-First-Served(FCFS/FIFO)
Each process joins the Ready queue When the current process ceases to execute,
the oldest process in the Ready queue is selected non-pre-emptive
A short process may have to wait a very long time before it can execute
FCFS
Arrival time Service Time
P1 0 24
P2 1 3
P3 2 3
Calculate the turn-around time for each process and the average turn-around time.
FCFS
Favors CPU-bound processes I/O processes have to wait until CPU-bound
process completes Inefficient use of processor and I/O devices. Rarely used on its own.
Process Scheduling Example
First-Come-First-Served(FCFS)
0 5 10 15 20
A
B
C
D
E
Shortest Process Next (SPN)
Select the shortest process in the ready queue.
Non-pre-emptive. Reduces the response time for shorter
processes. Less predictable response time for longer
processes. Must estimate the running time for each
process.
Process Scheduling Example
Shortest Process Next (SPN)
0 5 10 15 20
A
B
C
D
E
Shortest Remaining Time(SRT)
Pre-emptive version of SPN. Check when a new process enters the
system and when the current process voluntarily releases the processor.
Better response time as short jobs given immediate preference.
Fewer process switches than RR. Must keep track of elapsed time.
Process Scheduling Example
Shortest Remaining Time(SRT)
0 5 10 15 20
A
B
C
D
E
Round robin
Pre-empt a process using the clock interrupt. A process is allowed to run for a time-slice or
quantum. The next process in the Ready queue is
selected to run following the pre-emption (FCFS).
Prevents large processes from monopolizing the processor.
Round robin
Design issue: length of quantum Short quantum
short processes will finish quickly. lots of process switches
Choose such that typical processes can complete without being interrupted.
Round robin
Unfair to I/O-bound processes as they will typically not use a complete quantum, while CPU-bound processes will.
Use Virtual Round Robin Use an auxiliary queue to hold processes that
have I/O requests serviced. Process in auxiliary queue gets preference over
those in the main ready queue. Process from the auxiliary runs for time remaining
from last time-slice.
Process Scheduling Example
Round-Robin
0 5 10 15 20
A
B
C
D
E
Highest Response Ratio Next (HRRN)
ss w
ratio Response
w – time spent waiting for the processor
s – expected service time
HRRN
Non-pre-emptive Select the process that has the highest
response ratio. Short process (small “s”) given preference. Long process(large “s”) that has been waiting
a long time (large “w”) is given preference. Accounts for age of process.
Must estimate “s”.
Process Scheduling Example
Highest Response Ratio Next (HRRN)
A
B
C
D
E
0 5 10 15 20
Multi-level Feedback (quantum = i)
Pre-emptive (time quantum) Maintain many ready queues of varying priority.
Each queue uses FCFS. A process that is pre-empted is moved to a queue of
lower priority to wait. Thus longer processes are penalized. Don’t have to estimate running time. Note: If there are no processes waiting, don’t pre-
empt the process
Process Scheduling Example
Multi-level Feedback (quantum = i)
0 5 10 15 20
A
B
C
D
E
Multi-level Feedback (quantum = 2i * quantum)
With quantum = i, long processes will have very high turn-around time.
So, a process in queue RQi will be allowed to run for 2i * quantum.
Multi-level Feedback (quantum = 2i * quantum)
Fair-Share Scheduling
Treat multiple processes and threads of a user as a collection.
The performance of the collection of threads is optimized not just that of any one thread or process.
Fair share scheduling ensures that users are given a fair share of the processor time.
FSS
Divide user community into groups. Each user process’ priority is based on the
process’ execution time and the execution time of processes within the same group.