Ceng 334 - Operating Systems
Download
Report
Transcript Ceng 334 - Operating Systems
Chapter 2.2 : Process Scheduling
Process concept
Process scheduling
Interprocess communication
Deadlocks
Threads
1
Scheduling
Select
process(es) to run on processor(s)
Process state is changed from “ready” to
“running”
The component of the OS which does the
scheduling is called the scheduler
2
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
3
Types of Scheduling
Long
Term Scheduling.
The decision to add to the pool of processes to be
executed.
Medium
The decision to add to the process in main memory.
Short
Term Scheduling.
The decision as to which process will gain the processor.
I/O
Term Scheduling.
Scheduling.
The decision as to which process's I/O request shall be
handled by a device.
4
Scheduling Criteria
Fairness : each process should get a fair share
of the CPU
Efficiency: keep CPU 100% utilized
Response time : should be minimized for
interactive users
Turnaround : minimize batch turnaround
times
Throughput : maximize number of jobs
processed per hour
5
User-Oriented, Performance
Criteria
Criteria
Response Time
Turnaround Time
Deadlines
Aim
low response time,
maximum number of
interactive users
time between submission
and completion
maximise deadlines met
6
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
7
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
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
9
Types of Scheduling
A scheduling algorithm is non-preemptive (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.
Cooperative Scheduling is the scheduling algorithm used
by some operating systems (such as Windows versions
up to 95 in which processes relinquish the control of
CPU for some reason (I/O, waiting for some event etc.)
10
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 by
processes in infinite loops.
11
Scheduling Algorithms
FCFS
Round
Robin
Virtual Round Robin
Priority
Priority Classes
Shortest Job First
Shortest Remaining Time
Highest Response Ratio Next
Feedback Queues
12
FCFS (First Come First Serve)
Implementation:
As
each process becomes ready, it joins the
ready queue.
When the current process finishes the oldest
process is selected next.
Characteristics:
Simple
to implement
Nonpremptive
Penalises short and I/O-bound processes
13
Round Robin (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
14
Quantum Size
Some
Options:
Large
or small quantum
Fixed or variable quantum
Same for everyone or different
If quantum is to large RR degenerates into
FCFS
If quantum is to small context switching
becomes the primary job being executed
A good guide is quantum should be slightly
larger than the time required for a typical
interaction
15
Virtual Round Robin (VRR)
A modification to the RR algorithm to remove
the bias towards CPU bound processes.
Implementation:
Two
“ready” queues, one called an AUX
queue for storing “completed” IO processes
AUX queue has priority over READY queue
IO processes only runs for remaining time
Characteristics:
Performance
studies indicate fairer than RR
16
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
17
Priority Classes
Priority Class 4
Highest
Priority Class 3
Priority Class 2
Priority Class 1
Lowest
18
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
19
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
20
Characteristics:
Nonpremptive
Reduces average waiting time over FIFO
Always
produces the minimum average
turnaround time
Must know how long a process will run
Possible user abuse
Suitable for batch environments. Not useful in a
timesharing environment
21
Shortest Remaining Time (SRT)
Preemptive
counterpart of SPN
Implementation:
Process
with the smallest estimated runtime to completion is run next
A running process may be preempted by a
new process with a shorter estimate runtime
22
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
23
Highest Response Ratio Next
(HRRN)
How
do you get around the problem of
Indefinite postponement?
Implementation:
Once
a job gets the CPU it runs it to completion
The priority of a job is a function of the job's
service time and the time it has been waiting for
service
priority = (time waiting + service time) / service
time
24
Characteristics:
Nonpremptive
Shorter
jobs still get preference over
longer jobs
However aging ensures long jobs will
eventually gain the processor
Estimation still involved
25
Feedback Queues
Sometimes
called multi-level feedback queues
Implementation:
There
is a network of ready queues
A new process enters at the top queue
Moves through the queue FIFO
26
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
queue
This continues until it reaches the
bottom queue
27
Dispatching:
A
process is only placed on the CPU if
all higher level queues are empty
A running process is preempted by a
process arriving in a higher queue
Processes from lower level queues
receive a larger quantum
Modifications:
In some systems processes can proceed
back up the network by becoming I/O
bound
28
A Scheduling Mechanism Should:
Favour
short jobs
Favour I/O bound jobs to get good I/O
device utilisation
Determine the nature of a job and
schedule accordingly
29