0% found this document useful (0 votes)
12 views

Lect5 CPU Scheduling

Uploaded by

mmikyllamayy
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

Lect5 CPU Scheduling

Uploaded by

mmikyllamayy
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 44

Chapter 5

CPU Scheduling
Basic Concepts
 CPU Scheduling
• It is the basis of multi-programmed operating
systems
• The operating system can make the computer
more productive
• Maximum CPU utilization obtained with
multiprogramming
 CPU–I/O Burst Cycle
• These are process execution consists of a cycle
of CPU execution and I/O wait
Basic Concepts
 CPU Scheduling
 CPU–I/O Burst Cycle
 Properties of Process
1. Cycle of CPU Execution
2. I/O Wait
 CPU Burst Distribution
CPU Scheduler
• It is a part of operating system that is responsible
for dividing which process gets the CPU burst,
after a process through its sharing.
• Selects from among the processes in memory that
are ready to execute, and allocates the CPU to
one of them
 Implementation of Ready Queue
1. FIFO (First – In First – Out) Queue
2. Priority Queue
3. Tree
4. Unordered Linked List
CPU Scheduler
• CPU scheduling decisions may take place when a
process:
1. Switches from running to waiting state
2.Switches from running to ready state
3. Switches from waiting to ready
4. Terminates
o Scheduling under 1 and 4 is nonpreemptive
o All other scheduling is preemptive
CPU Scheduler
 Scheduling Schemes
 Non – Preemptive Scheduling
o The CPU has been allocated to a process, then
process keeps the CPU until it releases the CPU
either by terminating or by switching to waiting
state.
o It is the only method that can be used on certain
hardware platforms, because it does not require
the special hardware.
o Once CPU given to the process it cannot be
preempted until completes its CPU burst
Example: Microsoft System
CPU Scheduler
Preemptive Scheduling
o Operating system interrupts and executing
process when it sees fit
o If a new process arrives with CPU burst length
less than remaining time of current executing
process, preempt.
o This scheme is known as the
Shortest-Remaining-Time-First (SRTF)
Dispatcher
• Selects a process from the ready queue
Dispatcher Module – gives control of the CPU to
the process selected by the short-term scheduler
 Functions:
– Switching context
– Switching to user mode
– Jumping to the proper location in the user
program to restart that program
Dispatch Latency – time it takes for the
dispatcher to stop one process and start another
running
Scheduling Criteria
1. CPU Utilization – is the percentage of time that
the CPU is busy.
2. System Throughput – is the number of jobs
completed per unit of time
3. Turnaround Time – is the elapsed time from
the time that the job is submitted for execution
to the time it is completed.
4. Waiting Time – is the amount of time spent by
a job in ready state.
Scheduling Criteria

5. Response Time – is the time take by the


system to respond to a user input.
6. Overhead Time – is the time spent in executing
the operating system routine
 Optimization Criteria
• Max CPU utilization
• Max throughput
• Min turnaround time
• Min waiting time
• Min response time
Scheduling Algorithm
• It deals with the problem of deciding which of the
processes ready queue is to be allocated the CPU.
 First-Come, First-Served (FCFS) Scheduling
• It is the simplest CPU scheduling algorithm
• The process that requests the CPU first is allocated
the CPU first.
• It is a non – preemptive algorithm
Example:
1. Suppose that the processes arrive in the order: P1 , P2 , P3
Scheduling Algorithm
 First-Come, First-Served (FCFS) Scheduling

Example:
Process Burst Time
P1 24
P2 3
P3 3
 The Gantt Chart for the schedule is:

P1 P2 P3

0 24 27 30
Scheduling Algorithm
 First-Come, First-Served (FCFS) Scheduling

• Waiting Time (WT) : P1 = 0; P2 = 24; P3 = 27


• Average Waiting Time: (0 + 24 + 27)/3 = 17

2. Suppose that the processes arrive in the order


P2 , P3 , P1
• The Gantt Chart for the schedule is:
P2 P3 P1

0 3 6 30
Scheduling Algorithm
 First-Come, First-Served (FCFS) Scheduling

• Waiting Time : P1 = 6; P2 = 0; P3 = 3
• Average Waiting Time: (6 + 0 + 3)/3 = 3
Scheduling Algorithm

 Shortest-Job-First (SJF) Scheduling


• Associate with each process the length of its next
CPU burst.
• Use these lengths to schedule the process with
the shortest time
• SJF is optimal – gives minimum average waiting
time for a given set of processes
Scheduling Algorithm
 Shortest-Job-First (SJF) Scheduling
Example:
Process Burst Time
P1 7
P2 4
P3 1
P4 4
• Gantt
P3 P2 P4 P1

0 1 5 9 16

• Average Waiting Time = (9 + 1 + 0 + 5)/4 = 3.75


Scheduling Algorithm
 Shortest-Job-First (SJF) Scheduling (Non – Preemptive)
Process Arrival Time Burst Time
P1 0.0 7
P2 2.0 4
P3 4.0 1
P4 5.0 4
• Gantt Chart
P1 P3 P2 P4

0 3 8 12 16
7
Scheduling Algorithm
 Shortest-Job-First (SJF) Scheduling
• Waiting Time:
Process= Waiting Time – Arrival Time
P1 = 0 – 0 = 0
P2 = 8 – 2 = 6
P3 = 7 – 4 = 3
P4 = 12 – 5 = 7
Average Waiting Time = (0 + 6 + 3 + 7)/4 = 4
Scheduling Algorithm
 Shortest-Job-First (SJF) Scheduling (Preemptive)
Process Arrival Time Burst Time
P1 0.0 7
P2 2.0 4
P3 4.0 1
P4 5.0 4
• Gantt Chart:
P1 P2 P3 P2 P4 P1

0 2 4 5 7 11 16
Scheduling Algorithm
 Shortest-Job-First (SJF) Scheduling (Preemptive)
• Waiting Time:
P1 = (11 – 2) – 0 = 9
P2 = (5 – 2) – 2 = 1
P3 = 4 – 4 = 0
P4 = 7 – 5 = 2
• Average Waiting Time = (9 + 1 + 0 +2)/4 = 3
Scheduling Algorithm
 Priority Scheduling
• A priority number (integer) is associated with each
process
• The CPU is allocated to the process with the
highest priority (smallest integer  highest priority)
– Preemptive
– Nonpreemptive
• SJF is a priority scheduling where priority is the
predicted next CPU burst time
Scheduling Algorithm
 Priority Scheduling
• Problem  Starvation – low priority processes may
never execute
• Solution  Aging – as time progresses increase
the priority of the process
Process Burst Time Priority
P1 10 3
P2 1 1
P3 2 3
P4 1 4
P5 5 2
Scheduling Algorithm
 Priority Scheduling
• Gantt Chart:

P2 P5 P1 P3 P4

0 1 6 9 11 18

• Average Waiting Time:


(6 + 0 + 9 + 11 +1) / 5 = 5.4 ms
Scheduling Algorithm
 Round Robin Scheduling
• It is designed especially for time – sharing system.
• It is similar to FCFS scheduling, but pre – emption
is added to switch the process.
Time Quantum – is a small unit of time or time slice.
 It is generally from 10 to 100 milliseconds.
 After this time has elapsed, the process is preempted and
added to the end of the ready queue.
 If there are n processes in the ready queue and the time
quantum is q, then each process gets 1/n of the CPU time
in chunks of at most q time units at once.
 No process waits more than (n-1)q time units.
Scheduling Algorithm
 Round Robin Scheduling
• Performance
– q large  FIFO
– q small  q must be large with respect to
context switch, otherwise overhead is too high
Example:
ProcessBurst Time
P1 53
P2 17
P3 68
P4 24
Scheduling Algorithm
 Round Robin Scheduling
• Time Quantum = 20 ms
• The Gantt chart is:

P1 P2 P3 P4 P1 P3 P4 P1 P3 P3

Average
0 Waiting
20 37 Time:
57 77 97 117 121 134 154 162
P1 = (77 – 20) + (121 – 97)= 81
P2 = 20
P3 = 37 + (97 – 57) + (134 – 117)= 94
P4 = 57 + (117 – 77) = 97
AWT = (81 + 20 + 94 + 97) / 4 = 73ms
Scheduling Algorithm
 Multilevel Queue Scheduling
• Ready queue is partitioned into separate queues:
─ Foreground (interactive)
─ Background (batch)
• Each queue has its own scheduling algorithm
– Foreground – Round Robin
– Background – FCFS
• Scheduling must be done between the queues
– Fixed priority scheduling; (i.e., serve all from foreground
then from background). Possibility of starvation.
Multilevel Queue Scheduling
Scheduling Algorithm
 Multilevel Queue Scheduling
• Scheduling must be done between the queues
– Time slice – each queue gets a certain amount of CPU
time which it can schedule amongst its processes; i.e.,
80% to foreground in RR
– 20% to background in FCFS
 Multilevel Feedback Queue
• A process can move between the various queues;
aging can be implemented this way
Scheduling Algorithm
 Multilevel Feedback Queue
• Multilevel-feedback-queue scheduler defined by
the following parameters:
– Number of Queues
– Scheduling algorithms for each queue
– Method used to determine when to upgrade a process
– Method used to determine when to demote a process
– Method used to determine which queue a process will
enter when that process needs service
Scheduling Algorithm
 Multilevel Feedback Queue
Example:
• Three Queues:
– Q0 – RR with time quantum 8 milliseconds
– Q1 – RR time quantum 16 milliseconds
– Q2 – FCFS
• 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 .
Scheduling Algorithm
 Multilevel Feedback Queue
Example:
• Scheduling
– 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 Queues
Multiple – Processor Scheduling
• CPU scheduling more complex when multiple
CPUs are available
Homogenous System
• A system where the processor are identical in
terms of functionality
• Any processor available can then be used to run
any processes in the queue
• Homogeneous processors within a multiprocessor
Multiple – Processor Scheduling
 Heterogeneous System
• A system where the processor are different
• Only compiled programs for a given processor’s
instruction set could be run on that processor.
 Load sharing
• It will provide a separate queue for each processor
 Asymmetric multiprocessing
• Only one processor accesses the system data
structures, alleviating the need for data sharing
Real – Time Scheduling
• The scheduling Facility needed to support real –
time computing within a general purpose computer
system
Hard Real – Time System
• A system that required to complete a critical task
within a guaranteed amount of time
• These are composed of special – purpose
software running on hardware dedicated to their
critical process, and lack the full functionality of
modern computers and operating systems
Real – Time Scheduling
 Soft Real – Time System
• It is less restrictive
• It requires that critical processes receive priority
over less fortunate ones
• It requires careful design of the scheduler and
related aspect of the operating system
Algorithm Evaluation
 Deterministic Modeling
Analytic Evaluation
• It a major class of evaluation methods.
• It uses the given algorithm and the system workload to
produce a formula or number that evaluates the
performance of the algorithm for that workload.
• It one type of analytic evaluation method
• It takes a particular predetermined workload and
defines the performance of each algorithm for
that workload
Algorithm Evaluation
 Deterministic Modeling
• Consider the FCFS, SJF, and Round Robin
(quantum = 10 ms), which algorithm would give the
minimum average waiting time?
Example:
Process Burst Time
P1 10
P2 29
P3 3
P4 7
P4 12
Algorithm Evaluation
 Queueing Modeling
• It can be used to determine the distribution of
CPU and I/O burst.
• It may be useful in comparing scheduling
algorithms but it has limitations
• The arrival and service distributions are often
defined unrealistic, but mathematically tractable
ways.
Algorithm Evaluation
 Simulations Modeling
• It is more accurate evaluation of scheduling
algorithm
• It involves programming a model of the computer
system.
• Software Data Structures represent the major
components of the system.
• The simulator has a variable representing a clock;
as this variable’s value is increased, the simulator
modifies the system state to reflect the activities
of the devices , the processes and the scheduler.
CPU Scheduler by Simulation
Algorithm Evaluation
 Implementation Modeling
• The only completely accurate way to evaluate a
scheduling algorithm is to code it up, to put it in
the operating system, and se how it works.
• It puts the actual algorithm in the real system for
evaluation under real operating conditions.
• Major Difficulty
a. Cost
b. Environment used will change
Activity

You might also like