SlideShare a Scribd company logo
1 of 23
Download to read offline
5: CPU-Scheduling 1
Jerry Breecher
OPERATING SYSTEMS
SCHEDULING
5: CPU-Scheduling 2
What Is In This Chapter?
• This chapter is about how to get a process attached to a processor.
• It centers around efficient algorithms that perform well.
• The design of a scheduler is concerned with making sure all users get
their fair share of the resources.
CPU Scheduling
5: CPU-Scheduling 3
What Is In This Chapter?
• Basic Concepts
• Scheduling Criteria
• Scheduling Algorithms
• Multiple-Processor Scheduling
• Real-Time Scheduling
• Thread Scheduling
• Operating Systems Examples
• Java Thread Scheduling
• Algorithm Evaluation
CPU Scheduling
5: CPU-Scheduling 4
CPU SCHEDULING Scheduling
Concepts
Multiprogramming A number of programs can be in
memory at the same time. Allows
overlap of CPU and I/O.
Jobs (batch) are programs that run
without user interaction.
User (time shared) are programs that
may have user interaction.
Process is the common name for both.
CPU - I/O burst cycle Characterizes process execution,
which alternates, between CPU and
I/O activity. CPU times are
generally much shorter than I/O
times.
Preemptive Scheduling An interrupt causes currently
running process to give up the CPU
and be replaced by another process.
5: CPU-Scheduling 5
CPU SCHEDULING The Scheduler
Selects from among the processes in memory that are ready to execute, and
allocates the CPU to one of them
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
Scheduling under 1 and 4 is nonpreemptive
All other scheduling is preemptive
5: CPU-Scheduling 6
CPU SCHEDULING The Dispatcher
Dispatcher module gives control of the CPU to the process selected by the short-
term 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
5: CPU-Scheduling 7
Note usage of the words DEVICE, SYSTEM, REQUEST, JOB.
UTILIZATION The fraction of time a device is in use. ( ratio of in-use time / total
observation time )
THROUGHPUT The number of job completions in a period of time. (jobs / second )
SERVICE TIME The time required by a device to handle a request. (seconds)
QUEUEING TIME Time on a queue waiting for service from the device. (seconds)
RESIDENCE TIME The time spent by a request at a device.
RESIDENCE TIME = SERVICE TIME + QUEUEING TIME.
RESPONSE TIME Time used by a system to respond to a User Job. ( seconds )
THINK TIME The time spent by the user of an interactive system to figure out the next
request. (seconds)
The goal is to optimize both the average and the amount of variation. (but beware the ogre
predictability.)
CPU SCHEDULING
Criteria For
Performance
Evaluation
5: CPU-Scheduling 8
Most Processes Don’t Use Up Their Scheduling Quantum!
CPU SCHEDULING
Scheduling
Behavior
5: CPU-Scheduling 9
FIRST-COME, FIRST SERVED:
• ( FCFS) same as FIFO
• Simple, fair, but poor performance. Average queueing time may be long.
• What are the average queueing and residence times for this scenario?
• How do average queueing and residence times depend on ordering of these
processes in the queue?
CPU SCHEDULING Scheduling
Algorithms
5: CPU-Scheduling 10
EXAMPLE DATA:
Process Arrival Service
Time Time
1 0 8
2 1 4
3 2 9
4 3 5
0 8 12 21 26
P1 P2 P3 P4
FCFS
Average wait = ( (8-0) + (12-1) + (21-2) + (26-3) )/4 = 61/4 = 15.25
CPU SCHEDULING Scheduling
Algorithms
Residence Time
at the CPU
5: CPU-Scheduling 11
SHORTEST JOB FIRST:
• Optimal for minimizing queueing time, but impossible to implement.
Tries to predict the process to schedule based on previous history.
• Predicting the time the process will use on its next schedule:
t( n+1 ) = w * t( n ) + ( 1 - w ) * T( n )
Here: t(n+1) is time of next burst.
t(n) is time of current burst.
T(n) is average of all previous bursts .
W is a weighting factor emphasizing current or previous bursts.
CPU SCHEDULING Scheduling
Algorithms
5: CPU-Scheduling 12
PREEMPTIVE ALGORITHMS:
• Yank the CPU away from the currently executing process when a higher
priority process is ready.
• Can be applied to both Shortest Job First or to Priority scheduling.
• Avoids "hogging" of the CPU
• On time sharing machines, this type of scheme is required because the
CPU must be protected from a run-away low priority process.
• Give short jobs a higher priority – perceived response time is thus
better.
• What are average queueing and residence times? Compare with FCFS.
CPU SCHEDULING Scheduling
Algorithms
5: CPU-Scheduling 13
EXAMPLE DATA:
Process Arrival Service
Time Time
1 0 8
2 1 4
3 2 9
4 3 5
0 5 10 17 26
P2 P4 P1 P3
Preemptive Shortest Job First
Average wait = ( (5-1) + (10-3) + (17-0) + (26-2) )/4 = 52/4 = 13.0
P1
1
CPU SCHEDULING Scheduling
Algorithms
5: CPU-Scheduling 14
PRIORITY BASED SCHEDULING:
• Assign each process a priority. Schedule highest priority first. All processes within
same priority are FCFS.
• Priority may be determined by user or by some default mechanism. The system
may determine the priority based on memory requirements, time limits, or other
resource usage.
• Starvation occurs if a low priority process never runs. Solution: build aging into a
variable priority.
• Delicate balance between giving favorable response for interactive jobs, but not
starving batch jobs.
CPU SCHEDULING Scheduling
Algorithms
5: CPU-Scheduling 15
ROUND ROBIN:
• Use a timer to cause an interrupt after a predetermined time. Preempts if task
exceeds it’s quantum.
• Train of events
Dispatch
Time slice occurs OR process suspends on event
Put process on some queue and dispatch next
• Use numbers in last example to find queueing and residence times. (Use
quantum = 4 sec.)
• Definitions:
– Context Switch Changing the processor from running one task
(or process) to another. Implies changing memory.
– Processor Sharing Use of a small quantum such that each process
runs frequently at speed 1/n.
– Reschedule latency How long it takes from when a process requests
to run, until it finally gets control of the CPU.
CPU SCHEDULING Scheduling
Algorithms
5: CPU-Scheduling 16
ROUND ROBIN:
• Choosing a time quantum
– Too short - inordinate fraction of the time is spent in context switches.
– Too long - reschedule latency is too great. If many processes want
the CPU, then it's a long time before a particular process can get the
CPU. This then acts like FCFS.
– Adjust so most processes won't use their slice. As processors have
become faster, this is less of an issue.
CPU SCHEDULING Scheduling
Algorithms
5: CPU-Scheduling 17
EXAMPLE DATA:
Process Arrival Service
Time Time
1 0 8
2 1 4
3 2 9
4 3 5
0 8 12 16 26
P2 P3 P4 P1
Round Robin, quantum = 4, no priority-based preemption
Average wait = ( (20-0) + (8-1) + (26-2) + (25-3) )/4 = 74/4 = 18.5
P1
4
P3 P4
20 24 25
P3
CPU SCHEDULING Scheduling
Algorithms
Note:
Example violates rules for
quantum size since most
processes don’t finish in one
quantum.
5: CPU-Scheduling 18
MULTI-LEVEL QUEUES:
• Each queue has its scheduling algorithm.
• Then some other algorithm (perhaps priority based) arbitrates between queues.
• Can use feedback to move between queues
• Method is complex but flexible.
• For example, could separate system processes, interactive, batch, favored, unfavored
processes
CPU SCHEDULING Scheduling
Algorithms
5: CPU-Scheduling 19
Here’s how the priorities are used in Windows
CPU SCHEDULING Using Priorities
5: CPU-Scheduling 20
MULTIPLE PROCESSOR SCHEDULING:
• Different rules for homogeneous or heterogeneous processors.
• Load sharing in the distribution of work, such that all processors have an
equal amount to do.
• Each processor can schedule from a common ready queue ( equal
machines ) OR can use a master slave arrangement.
Real Time Scheduling:
• Hard real-time systems – required to complete a critical task within a
guaranteed amount of time.
• Soft real-time computing – requires that critical processes receive priority
over less fortunate ones.
CPU SCHEDULING Scheduling
Algorithms
5: CPU-Scheduling 21
Two algorithms: time-sharing and real-time
• Time-sharing
– Prioritized credit-based – process with most credits is scheduled next
– Credit subtracted when timer interrupt occurs
– When credit = 0, another process chosen
– When all processes have credit = 0, recrediting occurs
• Based on factors including priority and history
• Real-time
– Soft real-time
– Posix.1b compliant – two classes
• FCFS and RR
• Highest priority process runs first
CPU SCHEDULING Linux Scheduling
5: CPU-Scheduling 22
How do we decide which algorithm is best for a particular environment?
• Deterministic modeling – takes a particular predetermined workload and defines
the performance of each algorithm for that workload.
• Queueing models.
CPU SCHEDULING Algorithm Evaluation
5: CPU-Scheduling 23
We’ve looked at a number of different scheduling algorithms.
Which one works the best is application dependent.
General purpose OS will use priority based, round robin, preemptive
Real Time OS will use priority, no preemption.
CPU SCHEDULING
WRAPUP

More Related Content

What's hot

OS Process and Thread Concepts
OS Process and Thread ConceptsOS Process and Thread Concepts
OS Process and Thread Conceptssgpraju
 
Srt algorithm
Srt algorithmSrt algorithm
Srt algorithmdianne10
 
Operating Systems 1 (10/12) - Scheduling
Operating Systems 1 (10/12) - SchedulingOperating Systems 1 (10/12) - Scheduling
Operating Systems 1 (10/12) - SchedulingPeter Tröger
 
Windows process-scheduling
Windows process-schedulingWindows process-scheduling
Windows process-schedulingTalha Shaikh
 
Windows process scheduling presentation
Windows process scheduling presentationWindows process scheduling presentation
Windows process scheduling presentationTalha Shaikh
 
Processor management
Processor managementProcessor management
Processor managementdev3993
 
MULTILEVEL QUEUE SCHEDULING
MULTILEVEL QUEUE SCHEDULINGMULTILEVEL QUEUE SCHEDULING
MULTILEVEL QUEUE SCHEDULINGgarishma bhatia
 
Window scheduling algorithm
Window scheduling algorithmWindow scheduling algorithm
Window scheduling algorithmBinal Parekh
 
Real-Time Scheduling
Real-Time SchedulingReal-Time Scheduling
Real-Time Schedulingsathish sak
 
Process management
Process managementProcess management
Process managementBirju Tank
 
Ch6 CPU Scheduling galvin
Ch6 CPU Scheduling galvinCh6 CPU Scheduling galvin
Ch6 CPU Scheduling galvinShubham Singh
 
Process management in os
Process management in osProcess management in os
Process management in osMiong Lazaro
 
Cpu scheduling pre final formatting
Cpu scheduling pre final formattingCpu scheduling pre final formatting
Cpu scheduling pre final formattingmarangburu42
 

What's hot (19)

OS Process and Thread Concepts
OS Process and Thread ConceptsOS Process and Thread Concepts
OS Process and Thread Concepts
 
Process scheduling
Process schedulingProcess scheduling
Process scheduling
 
Srt algorithm
Srt algorithmSrt algorithm
Srt algorithm
 
scheduling
schedulingscheduling
scheduling
 
Operating Systems 1 (10/12) - Scheduling
Operating Systems 1 (10/12) - SchedulingOperating Systems 1 (10/12) - Scheduling
Operating Systems 1 (10/12) - Scheduling
 
Windows process-scheduling
Windows process-schedulingWindows process-scheduling
Windows process-scheduling
 
Windows process scheduling presentation
Windows process scheduling presentationWindows process scheduling presentation
Windows process scheduling presentation
 
Processor management
Processor managementProcessor management
Processor management
 
MULTILEVEL QUEUE SCHEDULING
MULTILEVEL QUEUE SCHEDULINGMULTILEVEL QUEUE SCHEDULING
MULTILEVEL QUEUE SCHEDULING
 
Cpu scheduling
Cpu schedulingCpu scheduling
Cpu scheduling
 
Window scheduling algorithm
Window scheduling algorithmWindow scheduling algorithm
Window scheduling algorithm
 
Real-Time Scheduling
Real-Time SchedulingReal-Time Scheduling
Real-Time Scheduling
 
scheduling algorithm
scheduling algorithmscheduling algorithm
scheduling algorithm
 
Process management
Process managementProcess management
Process management
 
Ch6 CPU Scheduling galvin
Ch6 CPU Scheduling galvinCh6 CPU Scheduling galvin
Ch6 CPU Scheduling galvin
 
Lecture 2 process
Lecture 2   processLecture 2   process
Lecture 2 process
 
cpu scheduling.pdf
cpu scheduling.pdfcpu scheduling.pdf
cpu scheduling.pdf
 
Process management in os
Process management in osProcess management in os
Process management in os
 
Cpu scheduling pre final formatting
Cpu scheduling pre final formattingCpu scheduling pre final formatting
Cpu scheduling pre final formatting
 

Viewers also liked

Pharos hand out presentation nl 05 2013
Pharos hand out presentation nl 05 2013Pharos hand out presentation nl 05 2013
Pharos hand out presentation nl 05 2013David Vermeulen
 
20121205 presentatie roel willems webanalyse, conversie en cookie trends 2013
20121205 presentatie roel willems   webanalyse, conversie en cookie trends 201320121205 presentatie roel willems   webanalyse, conversie en cookie trends 2013
20121205 presentatie roel willems webanalyse, conversie en cookie trends 2013OrangeValley
 
Ihtoc60 jenniferhillhousesarahcross.onceuponateentimehandouts
Ihtoc60 jenniferhillhousesarahcross.onceuponateentimehandoutsIhtoc60 jenniferhillhousesarahcross.onceuponateentimehandouts
Ihtoc60 jenniferhillhousesarahcross.onceuponateentimehandoutsOnlineconference
 
Presentacion perritolandia
Presentacion perritolandiaPresentacion perritolandia
Presentacion perritolandiaInesita0721
 
10 Tips for WeChat
10 Tips for WeChat10 Tips for WeChat
10 Tips for WeChatChris Baker
 
Benefits of drinking water
Benefits of drinking waterBenefits of drinking water
Benefits of drinking waterEason Chan
 
20 Ideas for your Website Homepage Content
20 Ideas for your Website Homepage Content20 Ideas for your Website Homepage Content
20 Ideas for your Website Homepage ContentBarry Feldman
 

Viewers also liked (8)

Pharos hand out presentation nl 05 2013
Pharos hand out presentation nl 05 2013Pharos hand out presentation nl 05 2013
Pharos hand out presentation nl 05 2013
 
20121205 presentatie roel willems webanalyse, conversie en cookie trends 2013
20121205 presentatie roel willems   webanalyse, conversie en cookie trends 201320121205 presentatie roel willems   webanalyse, conversie en cookie trends 2013
20121205 presentatie roel willems webanalyse, conversie en cookie trends 2013
 
Ihtoc60 jenniferhillhousesarahcross.onceuponateentimehandouts
Ihtoc60 jenniferhillhousesarahcross.onceuponateentimehandoutsIhtoc60 jenniferhillhousesarahcross.onceuponateentimehandouts
Ihtoc60 jenniferhillhousesarahcross.onceuponateentimehandouts
 
Presentacion perritolandia
Presentacion perritolandiaPresentacion perritolandia
Presentacion perritolandia
 
Stay Up To Date on the Latest Happenings in the Boardroom: Recommended Summer...
Stay Up To Date on the Latest Happenings in the Boardroom: Recommended Summer...Stay Up To Date on the Latest Happenings in the Boardroom: Recommended Summer...
Stay Up To Date on the Latest Happenings in the Boardroom: Recommended Summer...
 
10 Tips for WeChat
10 Tips for WeChat10 Tips for WeChat
10 Tips for WeChat
 
Benefits of drinking water
Benefits of drinking waterBenefits of drinking water
Benefits of drinking water
 
20 Ideas for your Website Homepage Content
20 Ideas for your Website Homepage Content20 Ideas for your Website Homepage Content
20 Ideas for your Website Homepage Content
 

Similar to Section05 scheduling

CPU scheduling in Operating System Explanation
CPU scheduling in Operating System ExplanationCPU scheduling in Operating System Explanation
CPU scheduling in Operating System ExplanationAnitaSofiaKeyser
 
chapter 5 CPU scheduling.ppt
chapter  5 CPU scheduling.pptchapter  5 CPU scheduling.ppt
chapter 5 CPU scheduling.pptKeyreSebre
 
cpu scheduling by shivam singh
cpu scheduling by shivam singhcpu scheduling by shivam singh
cpu scheduling by shivam singhshivam71291
 
Process scheduling in Light weight weight and Heavy weight processes.
Process scheduling in Light weight weight and Heavy weight processes.Process scheduling in Light weight weight and Heavy weight processes.
Process scheduling in Light weight weight and Heavy weight processes.Shreya Kumar
 
May14ProcessScheduling.ppt
May14ProcessScheduling.pptMay14ProcessScheduling.ppt
May14ProcessScheduling.pptansariparveen06
 
UNIPROCESS SCHEDULING.pptx
UNIPROCESS SCHEDULING.pptxUNIPROCESS SCHEDULING.pptx
UNIPROCESS SCHEDULING.pptxansariparveen06
 
Scheduling algorithms
Scheduling algorithmsScheduling algorithms
Scheduling algorithmsPaurav Shah
 
operating system (1).pdf
operating system (1).pdfoperating system (1).pdf
operating system (1).pdfAliyanAbbas1
 
LM10,11,12 - CPU SCHEDULING algorithms and its processes
LM10,11,12 - CPU SCHEDULING algorithms and its processesLM10,11,12 - CPU SCHEDULING algorithms and its processes
LM10,11,12 - CPU SCHEDULING algorithms and its processesmanideepakc
 
PROCESS.pptx
PROCESS.pptxPROCESS.pptx
PROCESS.pptxDivyaKS18
 
Operating system 28 fundamental of scheduling
Operating system 28 fundamental of schedulingOperating system 28 fundamental of scheduling
Operating system 28 fundamental of schedulingVaibhav Khanna
 
Cpu scheduling final
Cpu scheduling finalCpu scheduling final
Cpu scheduling finalmarangburu42
 

Similar to Section05 scheduling (20)

CPU Scheduling
CPU SchedulingCPU Scheduling
CPU Scheduling
 
CPU scheduling in Operating System Explanation
CPU scheduling in Operating System ExplanationCPU scheduling in Operating System Explanation
CPU scheduling in Operating System Explanation
 
chapter 5 CPU scheduling.ppt
chapter  5 CPU scheduling.pptchapter  5 CPU scheduling.ppt
chapter 5 CPU scheduling.ppt
 
cpu scheduling by shivam singh
cpu scheduling by shivam singhcpu scheduling by shivam singh
cpu scheduling by shivam singh
 
Cpu scheduling
Cpu schedulingCpu scheduling
Cpu scheduling
 
Process scheduling in Light weight weight and Heavy weight processes.
Process scheduling in Light weight weight and Heavy weight processes.Process scheduling in Light weight weight and Heavy weight processes.
Process scheduling in Light weight weight and Heavy weight processes.
 
ch_scheduling (1).ppt
ch_scheduling (1).pptch_scheduling (1).ppt
ch_scheduling (1).ppt
 
May14ProcessScheduling.ppt
May14ProcessScheduling.pptMay14ProcessScheduling.ppt
May14ProcessScheduling.ppt
 
pscheduling.ppt
pscheduling.pptpscheduling.ppt
pscheduling.ppt
 
UNIPROCESS SCHEDULING.pptx
UNIPROCESS SCHEDULING.pptxUNIPROCESS SCHEDULING.pptx
UNIPROCESS SCHEDULING.pptx
 
Scheduling algorithms
Scheduling algorithmsScheduling algorithms
Scheduling algorithms
 
operating system (1).pdf
operating system (1).pdfoperating system (1).pdf
operating system (1).pdf
 
LM10,11,12 - CPU SCHEDULING algorithms and its processes
LM10,11,12 - CPU SCHEDULING algorithms and its processesLM10,11,12 - CPU SCHEDULING algorithms and its processes
LM10,11,12 - CPU SCHEDULING algorithms and its processes
 
Osy ppt - Copy.pptx
Osy ppt - Copy.pptxOsy ppt - Copy.pptx
Osy ppt - Copy.pptx
 
Operating System.pptx
Operating System.pptxOperating System.pptx
Operating System.pptx
 
PROCESS.pptx
PROCESS.pptxPROCESS.pptx
PROCESS.pptx
 
Operating system
Operating systemOperating system
Operating system
 
Os2
Os2Os2
Os2
 
Operating system 28 fundamental of scheduling
Operating system 28 fundamental of schedulingOperating system 28 fundamental of scheduling
Operating system 28 fundamental of scheduling
 
Cpu scheduling final
Cpu scheduling finalCpu scheduling final
Cpu scheduling final
 

Recently uploaded

The Benefits and Challenges of Open Educational Resources
The Benefits and Challenges of Open Educational ResourcesThe Benefits and Challenges of Open Educational Resources
The Benefits and Challenges of Open Educational Resourcesaileywriter
 
Open Educational Resources Primer PowerPoint
Open Educational Resources Primer PowerPointOpen Educational Resources Primer PowerPoint
Open Educational Resources Primer PowerPointELaRue0
 
Championnat de France de Tennis de table/
Championnat de France de Tennis de table/Championnat de France de Tennis de table/
Championnat de France de Tennis de table/siemaillard
 
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽中 央社
 
Morse OER Some Benefits and Challenges.pptx
Morse OER Some Benefits and Challenges.pptxMorse OER Some Benefits and Challenges.pptx
Morse OER Some Benefits and Challenges.pptxjmorse8
 
INU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdf
INU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdfINU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdf
INU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdfbu07226
 
Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).Mohamed Rizk Khodair
 
Neurulation and the formation of the neural tube
Neurulation and the formation of the neural tubeNeurulation and the formation of the neural tube
Neurulation and the formation of the neural tubeSaadHumayun7
 
Basic Civil Engineering notes on Transportation Engineering, Modes of Transpo...
Basic Civil Engineering notes on Transportation Engineering, Modes of Transpo...Basic Civil Engineering notes on Transportation Engineering, Modes of Transpo...
Basic Civil Engineering notes on Transportation Engineering, Modes of Transpo...Denish Jangid
 
The Last Leaf, a short story by O. Henry
The Last Leaf, a short story by O. HenryThe Last Leaf, a short story by O. Henry
The Last Leaf, a short story by O. HenryEugene Lysak
 
Post Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdf
Post Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdfPost Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdf
Post Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdfPragya - UEM Kolkata Quiz Club
 
size separation d pharm 1st year pharmaceutics
size separation d pharm 1st year pharmaceuticssize separation d pharm 1st year pharmaceutics
size separation d pharm 1st year pharmaceuticspragatimahajan3
 
How to the fix Attribute Error in odoo 17
How to the fix Attribute Error in odoo 17How to the fix Attribute Error in odoo 17
How to the fix Attribute Error in odoo 17Celine George
 
MichaelStarkes_UncutGemsProjectSummary.pdf
MichaelStarkes_UncutGemsProjectSummary.pdfMichaelStarkes_UncutGemsProjectSummary.pdf
MichaelStarkes_UncutGemsProjectSummary.pdfmstarkes24
 
Behavioral-sciences-dr-mowadat rana (1).pdf
Behavioral-sciences-dr-mowadat rana (1).pdfBehavioral-sciences-dr-mowadat rana (1).pdf
Behavioral-sciences-dr-mowadat rana (1).pdfaedhbteg
 
Exploring Gemini AI and Integration with MuleSoft | MuleSoft Mysore Meetup #45
Exploring Gemini AI and Integration with MuleSoft | MuleSoft Mysore Meetup #45Exploring Gemini AI and Integration with MuleSoft | MuleSoft Mysore Meetup #45
Exploring Gemini AI and Integration with MuleSoft | MuleSoft Mysore Meetup #45MysoreMuleSoftMeetup
 
BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...
BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...
BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...Nguyen Thanh Tu Collection
 
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...Nguyen Thanh Tu Collection
 
REPRODUCTIVE TOXICITY STUDIE OF MALE AND FEMALEpptx
REPRODUCTIVE TOXICITY  STUDIE OF MALE AND FEMALEpptxREPRODUCTIVE TOXICITY  STUDIE OF MALE AND FEMALEpptx
REPRODUCTIVE TOXICITY STUDIE OF MALE AND FEMALEpptxmanishaJyala2
 

Recently uploaded (20)

The Benefits and Challenges of Open Educational Resources
The Benefits and Challenges of Open Educational ResourcesThe Benefits and Challenges of Open Educational Resources
The Benefits and Challenges of Open Educational Resources
 
Open Educational Resources Primer PowerPoint
Open Educational Resources Primer PowerPointOpen Educational Resources Primer PowerPoint
Open Educational Resources Primer PowerPoint
 
Operations Management - Book1.p - Dr. Abdulfatah A. Salem
Operations Management - Book1.p  - Dr. Abdulfatah A. SalemOperations Management - Book1.p  - Dr. Abdulfatah A. Salem
Operations Management - Book1.p - Dr. Abdulfatah A. Salem
 
Championnat de France de Tennis de table/
Championnat de France de Tennis de table/Championnat de France de Tennis de table/
Championnat de France de Tennis de table/
 
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
 
Morse OER Some Benefits and Challenges.pptx
Morse OER Some Benefits and Challenges.pptxMorse OER Some Benefits and Challenges.pptx
Morse OER Some Benefits and Challenges.pptx
 
INU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdf
INU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdfINU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdf
INU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdf
 
Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).
 
Neurulation and the formation of the neural tube
Neurulation and the formation of the neural tubeNeurulation and the formation of the neural tube
Neurulation and the formation of the neural tube
 
Basic Civil Engineering notes on Transportation Engineering, Modes of Transpo...
Basic Civil Engineering notes on Transportation Engineering, Modes of Transpo...Basic Civil Engineering notes on Transportation Engineering, Modes of Transpo...
Basic Civil Engineering notes on Transportation Engineering, Modes of Transpo...
 
The Last Leaf, a short story by O. Henry
The Last Leaf, a short story by O. HenryThe Last Leaf, a short story by O. Henry
The Last Leaf, a short story by O. Henry
 
Post Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdf
Post Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdfPost Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdf
Post Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdf
 
size separation d pharm 1st year pharmaceutics
size separation d pharm 1st year pharmaceuticssize separation d pharm 1st year pharmaceutics
size separation d pharm 1st year pharmaceutics
 
How to the fix Attribute Error in odoo 17
How to the fix Attribute Error in odoo 17How to the fix Attribute Error in odoo 17
How to the fix Attribute Error in odoo 17
 
MichaelStarkes_UncutGemsProjectSummary.pdf
MichaelStarkes_UncutGemsProjectSummary.pdfMichaelStarkes_UncutGemsProjectSummary.pdf
MichaelStarkes_UncutGemsProjectSummary.pdf
 
Behavioral-sciences-dr-mowadat rana (1).pdf
Behavioral-sciences-dr-mowadat rana (1).pdfBehavioral-sciences-dr-mowadat rana (1).pdf
Behavioral-sciences-dr-mowadat rana (1).pdf
 
Exploring Gemini AI and Integration with MuleSoft | MuleSoft Mysore Meetup #45
Exploring Gemini AI and Integration with MuleSoft | MuleSoft Mysore Meetup #45Exploring Gemini AI and Integration with MuleSoft | MuleSoft Mysore Meetup #45
Exploring Gemini AI and Integration with MuleSoft | MuleSoft Mysore Meetup #45
 
BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...
BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...
BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...
 
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...
 
REPRODUCTIVE TOXICITY STUDIE OF MALE AND FEMALEpptx
REPRODUCTIVE TOXICITY  STUDIE OF MALE AND FEMALEpptxREPRODUCTIVE TOXICITY  STUDIE OF MALE AND FEMALEpptx
REPRODUCTIVE TOXICITY STUDIE OF MALE AND FEMALEpptx
 

Section05 scheduling

  • 1. 5: CPU-Scheduling 1 Jerry Breecher OPERATING SYSTEMS SCHEDULING
  • 2. 5: CPU-Scheduling 2 What Is In This Chapter? • This chapter is about how to get a process attached to a processor. • It centers around efficient algorithms that perform well. • The design of a scheduler is concerned with making sure all users get their fair share of the resources. CPU Scheduling
  • 3. 5: CPU-Scheduling 3 What Is In This Chapter? • Basic Concepts • Scheduling Criteria • Scheduling Algorithms • Multiple-Processor Scheduling • Real-Time Scheduling • Thread Scheduling • Operating Systems Examples • Java Thread Scheduling • Algorithm Evaluation CPU Scheduling
  • 4. 5: CPU-Scheduling 4 CPU SCHEDULING Scheduling Concepts Multiprogramming A number of programs can be in memory at the same time. Allows overlap of CPU and I/O. Jobs (batch) are programs that run without user interaction. User (time shared) are programs that may have user interaction. Process is the common name for both. CPU - I/O burst cycle Characterizes process execution, which alternates, between CPU and I/O activity. CPU times are generally much shorter than I/O times. Preemptive Scheduling An interrupt causes currently running process to give up the CPU and be replaced by another process.
  • 5. 5: CPU-Scheduling 5 CPU SCHEDULING The Scheduler Selects from among the processes in memory that are ready to execute, and allocates the CPU to one of them 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 Scheduling under 1 and 4 is nonpreemptive All other scheduling is preemptive
  • 6. 5: CPU-Scheduling 6 CPU SCHEDULING The Dispatcher Dispatcher module gives control of the CPU to the process selected by the short- term 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
  • 7. 5: CPU-Scheduling 7 Note usage of the words DEVICE, SYSTEM, REQUEST, JOB. UTILIZATION The fraction of time a device is in use. ( ratio of in-use time / total observation time ) THROUGHPUT The number of job completions in a period of time. (jobs / second ) SERVICE TIME The time required by a device to handle a request. (seconds) QUEUEING TIME Time on a queue waiting for service from the device. (seconds) RESIDENCE TIME The time spent by a request at a device. RESIDENCE TIME = SERVICE TIME + QUEUEING TIME. RESPONSE TIME Time used by a system to respond to a User Job. ( seconds ) THINK TIME The time spent by the user of an interactive system to figure out the next request. (seconds) The goal is to optimize both the average and the amount of variation. (but beware the ogre predictability.) CPU SCHEDULING Criteria For Performance Evaluation
  • 8. 5: CPU-Scheduling 8 Most Processes Don’t Use Up Their Scheduling Quantum! CPU SCHEDULING Scheduling Behavior
  • 9. 5: CPU-Scheduling 9 FIRST-COME, FIRST SERVED: • ( FCFS) same as FIFO • Simple, fair, but poor performance. Average queueing time may be long. • What are the average queueing and residence times for this scenario? • How do average queueing and residence times depend on ordering of these processes in the queue? CPU SCHEDULING Scheduling Algorithms
  • 10. 5: CPU-Scheduling 10 EXAMPLE DATA: Process Arrival Service Time Time 1 0 8 2 1 4 3 2 9 4 3 5 0 8 12 21 26 P1 P2 P3 P4 FCFS Average wait = ( (8-0) + (12-1) + (21-2) + (26-3) )/4 = 61/4 = 15.25 CPU SCHEDULING Scheduling Algorithms Residence Time at the CPU
  • 11. 5: CPU-Scheduling 11 SHORTEST JOB FIRST: • Optimal for minimizing queueing time, but impossible to implement. Tries to predict the process to schedule based on previous history. • Predicting the time the process will use on its next schedule: t( n+1 ) = w * t( n ) + ( 1 - w ) * T( n ) Here: t(n+1) is time of next burst. t(n) is time of current burst. T(n) is average of all previous bursts . W is a weighting factor emphasizing current or previous bursts. CPU SCHEDULING Scheduling Algorithms
  • 12. 5: CPU-Scheduling 12 PREEMPTIVE ALGORITHMS: • Yank the CPU away from the currently executing process when a higher priority process is ready. • Can be applied to both Shortest Job First or to Priority scheduling. • Avoids "hogging" of the CPU • On time sharing machines, this type of scheme is required because the CPU must be protected from a run-away low priority process. • Give short jobs a higher priority – perceived response time is thus better. • What are average queueing and residence times? Compare with FCFS. CPU SCHEDULING Scheduling Algorithms
  • 13. 5: CPU-Scheduling 13 EXAMPLE DATA: Process Arrival Service Time Time 1 0 8 2 1 4 3 2 9 4 3 5 0 5 10 17 26 P2 P4 P1 P3 Preemptive Shortest Job First Average wait = ( (5-1) + (10-3) + (17-0) + (26-2) )/4 = 52/4 = 13.0 P1 1 CPU SCHEDULING Scheduling Algorithms
  • 14. 5: CPU-Scheduling 14 PRIORITY BASED SCHEDULING: • Assign each process a priority. Schedule highest priority first. All processes within same priority are FCFS. • Priority may be determined by user or by some default mechanism. The system may determine the priority based on memory requirements, time limits, or other resource usage. • Starvation occurs if a low priority process never runs. Solution: build aging into a variable priority. • Delicate balance between giving favorable response for interactive jobs, but not starving batch jobs. CPU SCHEDULING Scheduling Algorithms
  • 15. 5: CPU-Scheduling 15 ROUND ROBIN: • Use a timer to cause an interrupt after a predetermined time. Preempts if task exceeds it’s quantum. • Train of events Dispatch Time slice occurs OR process suspends on event Put process on some queue and dispatch next • Use numbers in last example to find queueing and residence times. (Use quantum = 4 sec.) • Definitions: – Context Switch Changing the processor from running one task (or process) to another. Implies changing memory. – Processor Sharing Use of a small quantum such that each process runs frequently at speed 1/n. – Reschedule latency How long it takes from when a process requests to run, until it finally gets control of the CPU. CPU SCHEDULING Scheduling Algorithms
  • 16. 5: CPU-Scheduling 16 ROUND ROBIN: • Choosing a time quantum – Too short - inordinate fraction of the time is spent in context switches. – Too long - reschedule latency is too great. If many processes want the CPU, then it's a long time before a particular process can get the CPU. This then acts like FCFS. – Adjust so most processes won't use their slice. As processors have become faster, this is less of an issue. CPU SCHEDULING Scheduling Algorithms
  • 17. 5: CPU-Scheduling 17 EXAMPLE DATA: Process Arrival Service Time Time 1 0 8 2 1 4 3 2 9 4 3 5 0 8 12 16 26 P2 P3 P4 P1 Round Robin, quantum = 4, no priority-based preemption Average wait = ( (20-0) + (8-1) + (26-2) + (25-3) )/4 = 74/4 = 18.5 P1 4 P3 P4 20 24 25 P3 CPU SCHEDULING Scheduling Algorithms Note: Example violates rules for quantum size since most processes don’t finish in one quantum.
  • 18. 5: CPU-Scheduling 18 MULTI-LEVEL QUEUES: • Each queue has its scheduling algorithm. • Then some other algorithm (perhaps priority based) arbitrates between queues. • Can use feedback to move between queues • Method is complex but flexible. • For example, could separate system processes, interactive, batch, favored, unfavored processes CPU SCHEDULING Scheduling Algorithms
  • 19. 5: CPU-Scheduling 19 Here’s how the priorities are used in Windows CPU SCHEDULING Using Priorities
  • 20. 5: CPU-Scheduling 20 MULTIPLE PROCESSOR SCHEDULING: • Different rules for homogeneous or heterogeneous processors. • Load sharing in the distribution of work, such that all processors have an equal amount to do. • Each processor can schedule from a common ready queue ( equal machines ) OR can use a master slave arrangement. Real Time Scheduling: • Hard real-time systems – required to complete a critical task within a guaranteed amount of time. • Soft real-time computing – requires that critical processes receive priority over less fortunate ones. CPU SCHEDULING Scheduling Algorithms
  • 21. 5: CPU-Scheduling 21 Two algorithms: time-sharing and real-time • Time-sharing – Prioritized credit-based – process with most credits is scheduled next – Credit subtracted when timer interrupt occurs – When credit = 0, another process chosen – When all processes have credit = 0, recrediting occurs • Based on factors including priority and history • Real-time – Soft real-time – Posix.1b compliant – two classes • FCFS and RR • Highest priority process runs first CPU SCHEDULING Linux Scheduling
  • 22. 5: CPU-Scheduling 22 How do we decide which algorithm is best for a particular environment? • Deterministic modeling – takes a particular predetermined workload and defines the performance of each algorithm for that workload. • Queueing models. CPU SCHEDULING Algorithm Evaluation
  • 23. 5: CPU-Scheduling 23 We’ve looked at a number of different scheduling algorithms. Which one works the best is application dependent. General purpose OS will use priority based, round robin, preemptive Real Time OS will use priority, no preemption. CPU SCHEDULING WRAPUP