SlideShare a Scribd company logo
Chapter 5: CPU Scheduling
Basic Concepts
• Maximum CPU utilization
obtained with
multiprogramming
• CPU–I/O Burst Cycle –
Process execution
consists of a cycle of CPU
execution and I/O wait
• CPU burst followed by I/O
burst
• CPU burst distribution is of
main concern
Histogram of CPU-burst Times
Large number of short bursts
Small number of longer bursts
CPU Scheduler
• The CPU scheduler selects from among the
processes in ready queue, and allocates a CPU
core to one of them
• Queue may be ordered in various ways
• 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
Preemptive and Nonpreemptive Scheduling
• When scheduling takes place only under
circumstances 1 and 4, the scheduling scheme
is nonpreemptive.
• Otherwise, it is preemptive.
• Under Nonpreemptive scheduling, once the
CPU has been allocated to a process, the
process keeps the CPU until it releases it either
by terminating or by switching to the waiting
state.
• Virtually all modern operating systems including
Windows, MacOS, Linux, and UNIX use
preemptive scheduling algorithms.
Preemptive Scheduling and Race Conditions
• Preemptive scheduling can result in race
conditions when data are shared among
several processes.
• Consider the case of two processes that
share data. While one process is updating
the data, it is preempted so that the second
process can run. The second process then
tries to read the data, which are in an
inconsistent state.
• This issue will be explored in detail in
Chapter 6.
Dispatcher
• Dispatcher module gives control
of the CPU to the process
selected by the CPU scheduler;
this involves:
• 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
• CPU utilization –
• keep the CPU as busy as possible
• Throughput –
• # of processes that complete their execution per time
unit
• Turnaround time –
• amount of time to execute a particular process
• Waiting time –
• amount of time a process has been waiting in the
ready queue
• Response time –
• amount of time it takes from when a request was
submitted until the first response is produced.
SchedulingAlgorithm Optimization Criteria
• Max CPU utilization
• Max throughput
• Min turnaround time
• Min waiting time
• Min response time
First- Come, First-Served (FCFS) Scheduling
Process Burst Time
P1 24
P2 3
P3 3
• Suppose that the processes arrive in the order: P1 , P2 ,
P3
The Gantt Chart for the schedule is:
• Waiting time for
• P1 = 0; P2 = 24; P3 = 27
• Average waiting time:
• (0 + 24 + 27)/3 = 17
P P P
1 2 3
0 24 30
27
FCFS Scheduling (Cont.)
Suppose that the processes arrive in the order:
P2 , P3 , P1
• The Gantt chart for the schedule is:
• Waiting time for
P1 = 6; P2 = 0; P3 = 3
• Average waiting time:
(6 + 0 + 3)/3 = 3
• Much better than previous case
• Convoy effect - short process behind long process
• Consider one CPU-bound and many I/O-bound processes
P1
0 3 6 30
P2
P3
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
• Preemptive version called shortest-
remaining-time-first
• How do we determine the length of the next
CPU burst?
• Could ask the user
• Estimate
Example of SJF
Process Burst Time
P1 6
P2 8
P3 7
P4 3
• SJF scheduling chart
• Average waiting time =
(3 + 16 + 9 + 0) / 4 = 7
P3
0 3 24
P4
P1
16
9
P2
Example of SJF
• Nonpreemptive policy
Example of SJF
• Nonpreemptive policy
Determining Length of Next CPU Burst
• Can only estimate the length – should be similar to
the previous one
• Then pick process with shortest predicted next CPU burst
• Can be done by using the length of previous CPU
bursts, using exponential averaging
• Commonly, α set to ½
Examples of Exponential Averaging
•  =0
• n+1 = n
• Recent history does not count
•  =1
• n+1 =  tn
• Only the actual last CPU burst counts
• If we expand the formula, we get:
n+1 =  tn+(1 - ) tn -1 + …
+(1 -  )j  tn -j + …
+(1 -  )n +1 0
• Since both  and (1 - ) are less than or equal to 1,
each successor predecessor term has less weight
than its predecessor
Exponential Averaging
• A common technique for predicting a future value on the
basis of a time series of past values is exponential
averaging
• Given  =0.8,
Shortest Remaining Time First Scheduling
• Preemptive version of SJN
• Whenever a new process arrives in the ready
queue, the decision on which process to
schedule next is redone using the SJN
algorithm.
• Is SRT more “optimal” than SJN in terms of the
minimum average waiting time for a given set
of processes?
Example of Shortest-remaining-time-first
• Now we add the concepts of varying arrival times and
preemption to the analysis
Process i Arrival TimeTBurst Time
P1 0 8
P2 1 4
P3 2 9
P4 3 5
• Preemptive SJF Gantt Chart
• Average waiting time =
• [(10-1)+(1-1)+(17-2)+(5-3)]/4 = 26/4 = 6.5
P4
0 1 26
P1
P2
10
P3
P1
5 17
Example of Shortest-remaining-time-first

More Related Content

PPTX
3Chapter Three- CPU Scheduling this is the best.pptx
PDF
OS Process Chapter 3.pdf
PPT
ch_scheduling (1).ppt
PPT
Cpu scheduling
PPT
Ch05 cpu-scheduling
PPTX
Cpu scheduling
PDF
Ch6 cpu scheduling
3Chapter Three- CPU Scheduling this is the best.pptx
OS Process Chapter 3.pdf
ch_scheduling (1).ppt
Cpu scheduling
Ch05 cpu-scheduling
Cpu scheduling
Ch6 cpu scheduling

Similar to ch5_CPU Scheduling_part1.pdf (20)

PDF
5 Process Scheduling
PPTX
CPU Scheduling.pptx this is operating system
PPT
Chapter No 4 CPU Scheduling and Algorithms.ppt
PPTX
CPU SCHEDULING ALGORITHMS-FCFS,SJF,RR.pptx
PPTX
CPU Scheduling Lecture 5 - 6.pptx
PDF
operating system (1).pdf
PPTX
Presentation by adeel
PDF
cpu scheduling.pdfoieheoirwuojorkjp;ooooo
PPTX
CPU Scheduling
PPTX
Scheduling algorithms
PPTX
Operating system 29 non preemptive scheduling
PPTX
DISEÑO DE MEMORIA EN SISTEMAS DE INFORMACION DIGITALES
PPTX
Operating Systems CPU Scheduling and its Algorithms
PPT
CPU Scheduling Algorithms(FCFS,SJF,RR).ppt
PPTX
CPU SCHEDULING AND DEADLOCK
PDF
CPU Scheduling Part-III.pdf
PPTX
Chapter 3 - Operating System Scheduling.pptx
PPTX
operating system scheduling concept lec2
PPT
OS-operating systems- ch05 (CPU Scheduling) ...
PPT
chapter 5 CPU scheduling.ppt
5 Process Scheduling
CPU Scheduling.pptx this is operating system
Chapter No 4 CPU Scheduling and Algorithms.ppt
CPU SCHEDULING ALGORITHMS-FCFS,SJF,RR.pptx
CPU Scheduling Lecture 5 - 6.pptx
operating system (1).pdf
Presentation by adeel
cpu scheduling.pdfoieheoirwuojorkjp;ooooo
CPU Scheduling
Scheduling algorithms
Operating system 29 non preemptive scheduling
DISEÑO DE MEMORIA EN SISTEMAS DE INFORMACION DIGITALES
Operating Systems CPU Scheduling and its Algorithms
CPU Scheduling Algorithms(FCFS,SJF,RR).ppt
CPU SCHEDULING AND DEADLOCK
CPU Scheduling Part-III.pdf
Chapter 3 - Operating System Scheduling.pptx
operating system scheduling concept lec2
OS-operating systems- ch05 (CPU Scheduling) ...
chapter 5 CPU scheduling.ppt
Ad

More from SonaliAjankar (7)

PDF
page replacement algorithms.pdf
PPT
ch3.ppt
PPT
assem.ppt
PDF
part2.pdf
PPT
PPTX
Unit 5 Streams2.pptx
PPT
Mobile transport layer
page replacement algorithms.pdf
ch3.ppt
assem.ppt
part2.pdf
Unit 5 Streams2.pptx
Mobile transport layer
Ad

Recently uploaded (20)

PDF
Well-logging-methods_new................
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PPTX
additive manufacturing of ss316l using mig welding
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
Sustainable Sites - Green Building Construction
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PPT
Mechanical Engineering MATERIALS Selection
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PDF
R24 SURVEYING LAB MANUAL for civil enggi
PPTX
web development for engineering and engineering
PDF
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PDF
composite construction of structures.pdf
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PPTX
UNIT 4 Total Quality Management .pptx
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
DOCX
573137875-Attendance-Management-System-original
PPTX
Geodesy 1.pptx...............................................
Well-logging-methods_new................
Operating System & Kernel Study Guide-1 - converted.pdf
additive manufacturing of ss316l using mig welding
CH1 Production IntroductoryConcepts.pptx
Sustainable Sites - Green Building Construction
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
Mechanical Engineering MATERIALS Selection
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
R24 SURVEYING LAB MANUAL for civil enggi
web development for engineering and engineering
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
composite construction of structures.pdf
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
UNIT 4 Total Quality Management .pptx
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
573137875-Attendance-Management-System-original
Geodesy 1.pptx...............................................

ch5_CPU Scheduling_part1.pdf

  • 1. Chapter 5: CPU Scheduling
  • 2. Basic Concepts • Maximum CPU utilization obtained with multiprogramming • CPU–I/O Burst Cycle – Process execution consists of a cycle of CPU execution and I/O wait • CPU burst followed by I/O burst • CPU burst distribution is of main concern
  • 3. Histogram of CPU-burst Times Large number of short bursts Small number of longer bursts
  • 4. CPU Scheduler • The CPU scheduler selects from among the processes in ready queue, and allocates a CPU core to one of them • Queue may be ordered in various ways • 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
  • 5. Preemptive and Nonpreemptive Scheduling • When scheduling takes place only under circumstances 1 and 4, the scheduling scheme is nonpreemptive. • Otherwise, it is preemptive. • Under Nonpreemptive scheduling, once the CPU has been allocated to a process, the process keeps the CPU until it releases it either by terminating or by switching to the waiting state. • Virtually all modern operating systems including Windows, MacOS, Linux, and UNIX use preemptive scheduling algorithms.
  • 6. Preemptive Scheduling and Race Conditions • Preemptive scheduling can result in race conditions when data are shared among several processes. • Consider the case of two processes that share data. While one process is updating the data, it is preempted so that the second process can run. The second process then tries to read the data, which are in an inconsistent state. • This issue will be explored in detail in Chapter 6.
  • 7. Dispatcher • Dispatcher module gives control of the CPU to the process selected by the CPU scheduler; this involves: • 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
  • 8. Scheduling Criteria • CPU utilization – • keep the CPU as busy as possible • Throughput – • # of processes that complete their execution per time unit • Turnaround time – • amount of time to execute a particular process • Waiting time – • amount of time a process has been waiting in the ready queue • Response time – • amount of time it takes from when a request was submitted until the first response is produced.
  • 9. SchedulingAlgorithm Optimization Criteria • Max CPU utilization • Max throughput • Min turnaround time • Min waiting time • Min response time
  • 10. First- Come, First-Served (FCFS) Scheduling Process Burst Time P1 24 P2 3 P3 3 • Suppose that the processes arrive in the order: P1 , P2 , P3 The Gantt Chart for the schedule is: • Waiting time for • P1 = 0; P2 = 24; P3 = 27 • Average waiting time: • (0 + 24 + 27)/3 = 17 P P P 1 2 3 0 24 30 27
  • 11. FCFS Scheduling (Cont.) Suppose that the processes arrive in the order: P2 , P3 , P1 • The Gantt chart for the schedule is: • Waiting time for P1 = 6; P2 = 0; P3 = 3 • Average waiting time: (6 + 0 + 3)/3 = 3 • Much better than previous case • Convoy effect - short process behind long process • Consider one CPU-bound and many I/O-bound processes P1 0 3 6 30 P2 P3
  • 12. 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 • Preemptive version called shortest- remaining-time-first • How do we determine the length of the next CPU burst? • Could ask the user • Estimate
  • 13. Example of SJF Process Burst Time P1 6 P2 8 P3 7 P4 3 • SJF scheduling chart • Average waiting time = (3 + 16 + 9 + 0) / 4 = 7 P3 0 3 24 P4 P1 16 9 P2
  • 14. Example of SJF • Nonpreemptive policy
  • 15. Example of SJF • Nonpreemptive policy
  • 16. Determining Length of Next CPU Burst • Can only estimate the length – should be similar to the previous one • Then pick process with shortest predicted next CPU burst • Can be done by using the length of previous CPU bursts, using exponential averaging • Commonly, α set to ½
  • 17. Examples of Exponential Averaging •  =0 • n+1 = n • Recent history does not count •  =1 • n+1 =  tn • Only the actual last CPU burst counts • If we expand the formula, we get: n+1 =  tn+(1 - ) tn -1 + … +(1 -  )j  tn -j + … +(1 -  )n +1 0 • Since both  and (1 - ) are less than or equal to 1, each successor predecessor term has less weight than its predecessor
  • 18. Exponential Averaging • A common technique for predicting a future value on the basis of a time series of past values is exponential averaging • Given  =0.8,
  • 19. Shortest Remaining Time First Scheduling • Preemptive version of SJN • Whenever a new process arrives in the ready queue, the decision on which process to schedule next is redone using the SJN algorithm. • Is SRT more “optimal” than SJN in terms of the minimum average waiting time for a given set of processes?
  • 20. Example of Shortest-remaining-time-first • Now we add the concepts of varying arrival times and preemption to the analysis Process i Arrival TimeTBurst Time P1 0 8 P2 1 4 P3 2 9 P4 3 5 • Preemptive SJF Gantt Chart • Average waiting time = • [(10-1)+(1-1)+(17-2)+(5-3)]/4 = 26/4 = 6.5 P4 0 1 26 P1 P2 10 P3 P1 5 17