Ch 22 Scheduling
Transcript of Ch 22 Scheduling
-
8/6/2019 Ch 22 Scheduling
1/29
Ceng 334 - Operating Systems 2.2-1
Chapter 2.2 : Process Scheduling
Process concept
Process scheduling Interprocess communication
Deadlocks
Threads
-
8/6/2019 Ch 22 Scheduling
2/29
Ceng 334 - Operating Systems 2.2-2
Scheduling
Select process(es) to run on processor(s)
Process state is changed from ready torunning
The component of the OS which does the
scheduling is called the scheduler
-
8/6/2019 Ch 22 Scheduling
3/29
Ceng 334 - Operating Systems 2.2-3
Types of Scheduling
Scheduling is divided into various levels.
These levels are defined by the location of
the processes
A process can be
available to be executed by the processor
partially or fully in main memory
in secondary memory
is not started yet
-
8/6/2019 Ch 22 Scheduling
4/29
-
8/6/2019 Ch 22 Scheduling
5/29
Ceng 334 - Operating Systems 2.2-5
Scheduling Criteria
Fairness : each process should get a fairshare of the CPU
Efficiency: keep CPU 100% utilized
Response time : should be minimized forinteractive users
Turnaround : minimize batch turnaround
times Throughput : maximize number of jobs
processed per hour
-
8/6/2019 Ch 22 Scheduling
6/29
Ceng 334 - Operating Systems 2.2-6
User-Oriented, Performance
Criteria
Criteria Aim
Response Time low response time,
maximum number of
interactive users
Turnaround Time time between submission
and completion
Deadlines maximise deadlines met
-
8/6/2019 Ch 22 Scheduling
7/29
Ceng 334 - Operating Systems 2.2-7
System-oriented, Performance
Criteria
Criteria Aim
Throughput allow maximum number of jobs to complete
Processor maximise percentage of time processor is busy
utilisation
Overhead minimise time processor busy executing OS
-
8/6/2019 Ch 22 Scheduling
8/29
Ceng 334 - Operating Systems 2.2-8
System oriented, other criteria
Criteria Aim
Fairness treat processes the same avoid starvation
Enforcing Priorities give preference to higher priority processes
Balancing Resources keep the system resources busy
-
8/6/2019 Ch 22 Scheduling
9/29
Ceng 334 - Operating Systems 2.2-9
Important Factors
I/O boundedness of a process
CPU boundedness of a process
Is the process interactive or batch?
Process priority Page fault frequency
Preemption frequency
Execution time received Execution time required to complete
-
8/6/2019 Ch 22 Scheduling
10/29
Ceng 334 - Operating Systems 2.2-10
Types of Scheduling
A scheduling algorithm is non-premptive
(run to completion) if the CPU cannot be
taken away by the OS.
A scheduling algorithm is preemptive if the
CPU can be taken away by the OS.
-
8/6/2019 Ch 22 Scheduling
11/29
Ceng 334 - Operating Systems 2.2-11
The Interrupting Clock
The OS sets the interrupting clock to
generate an interrupt at some specified
future time.
This interrupt time is the process quantum.
Provides reasonable response times and
prevents the system being held up byprocesses in infinite loops.
-
8/6/2019 Ch 22 Scheduling
12/29
Ceng 334 - Operating Systems 2.2-12
Scheduling Algorithms
FCFS
Round Robin
Virtual Round Robin
Priority Priority Classes
Shortest Job First
Shortest Remaining Time Highest Response Ratio Next
Feedback Queues
-
8/6/2019 Ch 22 Scheduling
13/29
Ceng 334 - Operating Systems 2.2-13
FCFS (First Come First Serve)
Implementation:
As each process becomes ready, it joins theready queue.
When the current process finishes the oldestprocess is selected next.
Characteristics:
Simple to implement
Nonpremptive
Penalises short and I/O-bound processes
-
8/6/2019 Ch 22 Scheduling
14/29
Ceng 334 - Operating Systems 2.2-14
RoundRobin (RR)
Implementation:
Processes are dispatched FIFO. But are given a
fixed time on the CPU (quantum - time slice).
Characteristics:
Preemptive
Effective in time sharing environments
Penalises I/O bound processes
-
8/6/2019 Ch 22 Scheduling
15/29
Ceng 334 - Operating Systems 2.2-15
Quantum Size
Some Options: Large or small quantum
Fixed or variable quantum
Same for everyone or different
If quantum is to large RR degenerates intoFCFS
If quantum is to small context switchingbecomes the primary job being executed
A good guide is quantum should be slightly
larger than the time required for a typical
interaction
-
8/6/2019 Ch 22 Scheduling
16/29
Ceng 334 - Operating Systems 2.2-16
VirtualRoundRobin (VRR)
A modification to the RR algorithm to remove
the bias towards CPU bound processes.
Implementation:
Two ready queues, one called an AUXqueue for storing completed IO processes
AUX queue has priority over READYqueue
IO processes only runs for remaining time Characteristics:
Performance studies indicate fairer than RR
-
8/6/2019 Ch 22 Scheduling
17/29
Ceng 334 - Operating Systems 2.2-17
Priority
Implementation: Each process is assigned a priority and the
scheduler always selects the highest priority
process first
Characteristics:
High priority processes may run indefinitely, so
decrease the priority of these processes at
regular intervals
Assign high priority to system processes with
known characteristics such as being I/O bound
-
8/6/2019 Ch 22 Scheduling
18/29
Ceng 334 - Operating Systems 2.2-18
Priority Classes
Priority Class 4
Priority Class 2
Priority Class 1
Priority Class 3
Highest
Lowest
-
8/6/2019 Ch 22 Scheduling
19/29
Ceng 334 - Operating Systems 2.2-19
Implementation: Processes are grouped into priority classes
Round Robin is used within a class
When selecting process start with the highest
class. If the class is empty, use a lower class
Characteristics:
If priorities are not adjusted from time to time,
lower classes may starve to death
-
8/6/2019 Ch 22 Scheduling
20/29
Ceng 334 - Operating Systems 2.2-20
Shortest-Job-First (SJF)
Sometimes known as Shortest Process Next
(SPN)
Implementation:
The process with the shortest expected
execution time is given priority on the
processor
-
8/6/2019 Ch 22 Scheduling
21/29
Ceng 334 - Operating Systems 2.2-21
Characteristics:
Nonpremptive
Reduces average waiting time over FIFO
Always produces the minimum averageturnaround time
Must know how long a process will run
Possible user abuse Suitable for batch environments. Not useful in a
timesharing environment
-
8/6/2019 Ch 22 Scheduling
22/29
-
8/6/2019 Ch 22 Scheduling
23/29
Ceng 334 - Operating Systems 2.2-23
Characteristics:
Still requires estimates of the future
Higher overhead than SJF No additional interrupts are generated as
in RR
Elapsed service times must be recorded
-
8/6/2019 Ch 22 Scheduling
24/29
Ceng 334 - Operating Systems 2.2-24
HighestResponse Ratio Next
(HRRN) How do you get around the problem ofIndefinite postponement?
Implementation:
Once a job gets the CPU it runs it to completion
The priority of a job is a function of the job'sservice time and the time it has been waiting for
servicepriority = (time waiting + service time) / servicetime
-
8/6/2019 Ch 22 Scheduling
25/29
Ceng 334 - Operating Systems 2.2-25
Characteristics:
Nonpremptive
Shorter jobs still get preference over
longer jobs
However aging ensures long jobs will
eventually gain the processor
Estimation still involved
-
8/6/2019 Ch 22 Scheduling
26/29
Ceng 334 - Operating Systems 2.2-26
FeedbackQueues
Sometimes called multi-level feedback
queues
Implementation:
There is a network of ready queues
A new process enters at the top
queueMoves through the queue FIFO
-
8/6/2019 Ch 22 Scheduling
27/29
Ceng 334 - Operating Systems 2.2-27
I/O processes:
If the job requires I/O before quantum
expiration it leaves the network and
comes back at the same level queue
CPU bound processes:
If the quantum expires first, the
process is placed on the next lower
queueThis continues until it reaches the
bottom queue
-
8/6/2019 Ch 22 Scheduling
28/29
Ceng 334 - Operating Systems 2.2-28
Dispatching:
A process is only placed on the CPUif all higher level queues are empty
A running process is preempted by aprocess arriving in a higher queue
Processes from lower level queuesreceive a larger quantum
Modifications:
In some systems processes canproceed back up the network by
becoming I/O bound
-
8/6/2019 Ch 22 Scheduling
29/29
Ceng 334 - Operating Systems 2.2-29
A Scheduling Mechanism Should:
Favour short jobs
Favour I/O bound jobs to get good I/Odevice utilisation
Determine the nature of a job and
schedule accordingly