SlideShare a Scribd company logo
Windows process scheduling presentation
Windows process scheduling presentation
 Muhammed Talha MCS-13-08
 Arslan Azam MCS-13-03
 Aitazaz Ahsan MCS-13-38
 Muhammed Sohail MCS-13-17
 Muhammed Yousaf MCS-13-23
 Abida Bibi MCS-13-22
 Tayyaba Ghani MCS-13-39
 Maximum CPU utilization is obtained with multiprogramming
◦ Several processes are kept in memory at one time
◦ Every time a running process has to wait, another process can
take over use of the CPU
 Scheduling of the CPU is fundamental to operating system design
 The process scheduler is the component of the operating system
that is responsible for deciding whether the currently running
process should continue running and, if not, which process should
run next.
 CPU scheduling is affected by the following set of circumstances:
1. (N) A process switches from running to waiting state
2. (P) A process switches from running to ready state
3. (P) A process switches from waiting to ready state
4. (N) A processes switches from running to terminated state
 Circumstances 1 and 4 are non-preemptive; they offer no schedule choice
 Circumstances 2 and 3 are pre-emptive; they can be scheduled
 The 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
 The dispatcher needs to run as fast as possible, since it is invoked
during process context switch
 The time it takes for the dispatcher to stop one process and start
another process is called dispatch latency
 Different CPU scheduling algorithms have different properties
 The choice of a particular algorithm may favour one class of
processes over another
 In choosing which algorithm to use, the properties of the various
algorithms should be considered
 Criteria for comparing CPU scheduling algorithms may include the following
◦ CPU utilization
◦ Throughput
◦ Turnaround time
◦ Response time
◦ Waiting time
 First Come, First Served (FCFS)
 Shortest Job First (SJF)
 Priority
 Round Robin (RR)
 Windows XP schedules threads using a priority-based, pre-emptive
scheduler with a flexible system of priority levels that includes round-robin
scheduling within each level
 The scheduler ensures that the highest priority thread will always run
Dispatcher
 The portion of the Windows kernel that handles scheduling is called
the dispatcher
 A thread selected to run by the dispatcher will run until it is preempted by a
higher-priority thread, until it terminates, until its time quantum ends, or until
it calls a blocking system call such as I/O
 If a higher-priority real-time thread becomes ready while a lower-priority
thread is running, lower-priority thread will be preempted
◦ This preemption gives a real-time thread preferential access to the CPU
when the thread needs such access
Windows process scheduling presentation
 The dispatcher uses a 32-level priority scheme to determine the order of thread
execution
 Priorities are divided into two classes
◦ The variable class contains threads having priorities 1 to 15
◦ The real-time class contains threads with priorities ranging from 16 to 31
◦ There is also a thread running at priority 0 that is used for memory
management
 The dispatcher uses a queue for each scheduling priority and traverses the set
of queues from highest to lowest until it finds a thread that is ready to run
 If no ready thread is found, the dispatcher will execute a special thread called
the idle thread
Windows process scheduling presentation
 The Windows Win32 API identifies six priority classes to which a process
can belong as shown below
◦ Real-time priority class
◦ High priority class
◦ Above normal priority class
◦ Normal priority class
◦ Below normal priority class
◦ Low priority class
 Priorities in all classes except the real-time priority class are variable
◦ This means that the priority of a thread in one of these classes can
change
 Within each of the priority classes is a relative priority as shown below
 The priority of each thread is based on the priority class it belongs to and its
relative priority within that class
 The initial priority of a thread is typically the base priority of the process that the
thread belongs to
 When a thread’s time quantum runs out, that thread is interrupted
 If the thread is in the variable-priority class, its priority is lowered
◦ However, the priority is never lowered below the base priority
 Lowering the thread’s priority tends to limit the CPU consumption of compute-bound
threads
 When a variable-priority thread is released from a wait operation, the dispatcher
boosts the priority
◦ The amount of boost depends on what the thread was waiting for
 A thread that was waiting for keyboard I/O would get a large increase
 A thread that was waiting for a disk operation would get a moderate increase
 This strategy tends to give good response time to interactive threads that are using
the mouse and windows
 It also enables I/O-bound threads to keep the I/O devices busy while permitting
compute-bound threads to use spare CPU cycles in the background
 This strategy is used by several time-sharing operating systems, including UNIX
 In addition, the window with which the user is currently interacting receives a priority
boost to enhance its response time
 When a user is running an interactive program, the system needs to
provide especially good performance for that process
 Therefore, Windows XP has a special scheduling rule for processes in
the normal priority class
 Windows XP distinguishes between the foreground process that is
currently selected on the screen and the background processes that
are not currently selected
 When a process moves in the foreground, Windows XP increases the
scheduling quantum by some factor – typically by 3
 This increase gives the foreground process three times longer to run
before a time-sharing preemption occurs
 https://msdn.microsoft.com/en-
us/library/windows/desktop/ms685100(v=vs.85).aspx
 Earlier version of Windows provided a feature
known as Fiber.
 Fibers allowed several user-mode threads (fibers)
to be mapped to a single kernel thread.
 Fibers were of limited practical use.
 A fiber was unable to make calls to the windows
API
 So Microsoft introduced a UMS.
 Windows 7 introduced a user-mode scheduling (UMS),
Which allows application to create and manage threads
independently of the kernel
 Thus , an application can create and scheduled multiple
threads without involving the windows Kernel scheduler
 Scheduling threads in user mode is much more efficient
than kernel mode.
 http://superuser.com/questions/452780/scheduling-
algorithm-used-in-windows-7
CPU cycle-based thread scheduling
The scheduler was modified to use the cycle counter
register of modern processors to keep track of exactly
how many CPU cycles a thread has executed, rather
than just using an interval-timer interrupt routine
This new CPU cycle-based thread scheduling gives a
greater fairness and more deterministic app behavior.
http://en.wikipedia.org/wiki/Technical_features_new
_to_Windows_Vista#Kernel_and_core_OS_changes
WinJS Scheduling
 A new scheduler API in Windows 8.1 lets you set the
priority of tasks and manage jobs.
 This helps you write HTML5 apps that use system
resources more efficiently and provide a more
responsive experience to your users.
 https://msdn.microsoft.com/en-
us/library/windows/apps/dn751496.aspx
Pre-emptive scheduler with a flexible system of priority levels that includes
round-robin with multi level priority queues.
Dispatcher used a 32-level priority scheme to determine the order of thread
execution.
The Windows Win32 API identifies six priority classes
The priority of each thread is based on the priority class it belongs to and its
relative priority within that class.
The initial priority of a thread is typically the base priority of the process that
the thread belongs to
When a variable-priority thread is released from a wait operation, the
dispatcher boosts the priority
When a user is running an interactive program, the system needs to provide
especially good performance for that process
Windows XP distinguishes between the foreground process that is currently
selected on the screen and the background processes that are not currently
selected
 If processer are in idle state which type of
process are to be executed ?
 Why Fibers are reject to serve as UMS ?
 When dispatcher boost the priority which type of
thread get a large increase ?
 For Which Processes are scheduling quantum by
some factor are increased by (eg75%) ?
 what is the latest Process Scheduling feature
used in windows 8.1 ? And how it’ll beneficial for
programmers ?
 How many level priority scheme are used to
determine ?
Windows process scheduling presentation
Ad

More Related Content

What's hot (20)

Operating Systems Process Scheduling Algorithms
Operating Systems   Process Scheduling AlgorithmsOperating Systems   Process Scheduling Algorithms
Operating Systems Process Scheduling Algorithms
sathish sak
 
Process threads operating system.
Process threads operating system.Process threads operating system.
Process threads operating system.
Reham Maher El-Safarini
 
SCHEDULING ALGORITHMS
SCHEDULING ALGORITHMSSCHEDULING ALGORITHMS
SCHEDULING ALGORITHMS
Dhaval Sakhiya
 
Os Threads
Os ThreadsOs Threads
Os Threads
Salman Memon
 
Storage Management
Storage ManagementStorage Management
Storage Management
Dr. SURBHI SAROHA
 
Lecture 14 requirements modeling - flow and behavior
Lecture 14   requirements modeling - flow and  behaviorLecture 14   requirements modeling - flow and  behavior
Lecture 14 requirements modeling - flow and behavior
IIUI
 
Operating systems system structures
Operating systems   system structuresOperating systems   system structures
Operating systems system structures
Mukesh Chinta
 
Deadlock Prevention
Deadlock PreventionDeadlock Prevention
Deadlock Prevention
prachi mewara
 
Event Driven programming(ch1 and ch2).pdf
Event Driven programming(ch1 and ch2).pdfEvent Driven programming(ch1 and ch2).pdf
Event Driven programming(ch1 and ch2).pdf
AliEndris3
 
Deadlock Avoidance in Operating System
Deadlock Avoidance in Operating SystemDeadlock Avoidance in Operating System
Deadlock Avoidance in Operating System
Mohammad Hafiz-Al-Masud
 
Operating Systems: Process Scheduling
Operating Systems: Process SchedulingOperating Systems: Process Scheduling
Operating Systems: Process Scheduling
Damian T. Gordon
 
chapter 1 introduction to operating system
chapter 1 introduction to operating systemchapter 1 introduction to operating system
chapter 1 introduction to operating system
Aisyah Rafiuddin
 
Processes and threads
Processes and threadsProcesses and threads
Processes and threads
Krasimir Berov (Красимир Беров)
 
Process scheduling
Process schedulingProcess scheduling
Process scheduling
Riya Choudhary
 
Ch1: Operating System- Introduction
Ch1: Operating System- IntroductionCh1: Operating System- Introduction
Ch1: Operating System- Introduction
Ahmar Hashmi
 
Multi Processors And Multi Computers
 Multi Processors And Multi Computers Multi Processors And Multi Computers
Multi Processors And Multi Computers
Nemwos
 
Chapter 1: Introduction to Operating System
Chapter 1: Introduction to Operating SystemChapter 1: Introduction to Operating System
Chapter 1: Introduction to Operating System
Shafaan Khaliq Bhatti
 
30326851 -operating-system-unit-1-ppt
30326851 -operating-system-unit-1-ppt30326851 -operating-system-unit-1-ppt
30326851 -operating-system-unit-1-ppt
raj732723
 
Operating system 11 system calls
Operating system 11 system callsOperating system 11 system calls
Operating system 11 system calls
Vaibhav Khanna
 
Data Flow Testing in Software Testing - JNTUA
Data Flow Testing in Software Testing - JNTUAData Flow Testing in Software Testing - JNTUA
Data Flow Testing in Software Testing - JNTUA
JVSTHARUNSAI
 
Operating Systems Process Scheduling Algorithms
Operating Systems   Process Scheduling AlgorithmsOperating Systems   Process Scheduling Algorithms
Operating Systems Process Scheduling Algorithms
sathish sak
 
Lecture 14 requirements modeling - flow and behavior
Lecture 14   requirements modeling - flow and  behaviorLecture 14   requirements modeling - flow and  behavior
Lecture 14 requirements modeling - flow and behavior
IIUI
 
Operating systems system structures
Operating systems   system structuresOperating systems   system structures
Operating systems system structures
Mukesh Chinta
 
Event Driven programming(ch1 and ch2).pdf
Event Driven programming(ch1 and ch2).pdfEvent Driven programming(ch1 and ch2).pdf
Event Driven programming(ch1 and ch2).pdf
AliEndris3
 
Operating Systems: Process Scheduling
Operating Systems: Process SchedulingOperating Systems: Process Scheduling
Operating Systems: Process Scheduling
Damian T. Gordon
 
chapter 1 introduction to operating system
chapter 1 introduction to operating systemchapter 1 introduction to operating system
chapter 1 introduction to operating system
Aisyah Rafiuddin
 
Ch1: Operating System- Introduction
Ch1: Operating System- IntroductionCh1: Operating System- Introduction
Ch1: Operating System- Introduction
Ahmar Hashmi
 
Multi Processors And Multi Computers
 Multi Processors And Multi Computers Multi Processors And Multi Computers
Multi Processors And Multi Computers
Nemwos
 
Chapter 1: Introduction to Operating System
Chapter 1: Introduction to Operating SystemChapter 1: Introduction to Operating System
Chapter 1: Introduction to Operating System
Shafaan Khaliq Bhatti
 
30326851 -operating-system-unit-1-ppt
30326851 -operating-system-unit-1-ppt30326851 -operating-system-unit-1-ppt
30326851 -operating-system-unit-1-ppt
raj732723
 
Operating system 11 system calls
Operating system 11 system callsOperating system 11 system calls
Operating system 11 system calls
Vaibhav Khanna
 
Data Flow Testing in Software Testing - JNTUA
Data Flow Testing in Software Testing - JNTUAData Flow Testing in Software Testing - JNTUA
Data Flow Testing in Software Testing - JNTUA
JVSTHARUNSAI
 

Viewers also liked (20)

The Windows Scheduler
The Windows SchedulerThe Windows Scheduler
The Windows Scheduler
Peter Shirley-Quirk
 
Process Scheduling
Process SchedulingProcess Scheduling
Process Scheduling
Abhishek Nagar
 
5 Process Scheduling
5 Process Scheduling5 Process Scheduling
5 Process Scheduling
Dr. Loganathan R
 
Process management
Process managementProcess management
Process management
Mohd Arif
 
SlideShare API ''Get Slideshow Information'' method example with Groovy
SlideShare API ''Get Slideshow Information'' method example with GroovySlideShare API ''Get Slideshow Information'' method example with Groovy
SlideShare API ''Get Slideshow Information'' method example with Groovy
Keiji Yamashita
 
Chrome dev tool
Chrome dev toolChrome dev tool
Chrome dev tool
Shih-En Chou
 
Slideshare Api
Slideshare ApiSlideshare Api
Slideshare Api
jbpashu
 
Windows programming
Windows programmingWindows programming
Windows programming
Bapan Maity
 
Chapter6 threads
Chapter6 threadsChapter6 threads
Chapter6 threads
Aditi Singh Chauhan
 
PThreads Vs Win32 Threads
PThreads  Vs  Win32 ThreadsPThreads  Vs  Win32 Threads
PThreads Vs Win32 Threads
Robert Sayegh
 
Operating Systems 1 (10/12) - Scheduling
Operating Systems 1 (10/12) - SchedulingOperating Systems 1 (10/12) - Scheduling
Operating Systems 1 (10/12) - Scheduling
Peter Tröger
 
Disk scheduling
Disk schedulingDisk scheduling
Disk scheduling
Hi-Techpoint
 
Les princeses amigues
Les princeses amiguesLes princeses amigues
Les princeses amigues
funmonkeybars
 
SIMULACRO PRUEBAS DE ESTADO
SIMULACRO PRUEBAS DE ESTADOSIMULACRO PRUEBAS DE ESTADO
SIMULACRO PRUEBAS DE ESTADO
Cesar Vera
 
The dark underbelly of event planning by Klammertime
The dark underbelly of event planning by KlammertimeThe dark underbelly of event planning by Klammertime
The dark underbelly of event planning by Klammertime
klammertime
 
Slides
SlidesSlides
Slides
Fungayi Makoni
 
инструменты русского оркестра
инструменты русского оркестраинструменты русского оркестра
инструменты русского оркестра
gukovaN2
 
Ventafocs
VentafocsVentafocs
Ventafocs
funmonkeybars
 
Research proposal
Research proposalResearch proposal
Research proposal
HisaAlali
 
λωξαντρα
λωξαντραλωξαντρα
λωξαντρα
1lykxanthis
 
Process management
Process managementProcess management
Process management
Mohd Arif
 
SlideShare API ''Get Slideshow Information'' method example with Groovy
SlideShare API ''Get Slideshow Information'' method example with GroovySlideShare API ''Get Slideshow Information'' method example with Groovy
SlideShare API ''Get Slideshow Information'' method example with Groovy
Keiji Yamashita
 
Slideshare Api
Slideshare ApiSlideshare Api
Slideshare Api
jbpashu
 
Windows programming
Windows programmingWindows programming
Windows programming
Bapan Maity
 
PThreads Vs Win32 Threads
PThreads  Vs  Win32 ThreadsPThreads  Vs  Win32 Threads
PThreads Vs Win32 Threads
Robert Sayegh
 
Operating Systems 1 (10/12) - Scheduling
Operating Systems 1 (10/12) - SchedulingOperating Systems 1 (10/12) - Scheduling
Operating Systems 1 (10/12) - Scheduling
Peter Tröger
 
SIMULACRO PRUEBAS DE ESTADO
SIMULACRO PRUEBAS DE ESTADOSIMULACRO PRUEBAS DE ESTADO
SIMULACRO PRUEBAS DE ESTADO
Cesar Vera
 
The dark underbelly of event planning by Klammertime
The dark underbelly of event planning by KlammertimeThe dark underbelly of event planning by Klammertime
The dark underbelly of event planning by Klammertime
klammertime
 
инструменты русского оркестра
инструменты русского оркестраинструменты русского оркестра
инструменты русского оркестра
gukovaN2
 
Research proposal
Research proposalResearch proposal
Research proposal
HisaAlali
 
λωξαντρα
λωξαντραλωξαντρα
λωξαντρα
1lykxanthis
 
Ad

Similar to Windows process scheduling presentation (20)

Module2 MultiThreads.ppt
Module2 MultiThreads.pptModule2 MultiThreads.ppt
Module2 MultiThreads.ppt
shreesha16
 
Thread scheduling...................pptx
Thread scheduling...................pptxThread scheduling...................pptx
Thread scheduling...................pptx
arahanthavarma4
 
Aman 16 os sheduling algorithm methods.pptx
Aman 16 os sheduling algorithm methods.pptxAman 16 os sheduling algorithm methods.pptx
Aman 16 os sheduling algorithm methods.pptx
vikramkagitapu
 
Os examples scheduling
Os examples schedulingOs examples scheduling
Os examples scheduling
Dana dia
 
Scheduler Activations - Effective Kernel Support for the User-Level Managemen...
Scheduler Activations - Effective Kernel Support for the User-Level Managemen...Scheduler Activations - Effective Kernel Support for the User-Level Managemen...
Scheduler Activations - Effective Kernel Support for the User-Level Managemen...
Kasun Gajasinghe
 
In computing, scheduling is the action .
In computing, scheduling is the action .In computing, scheduling is the action .
In computing, scheduling is the action .
nathansel1
 
PB1MAT_TIF17 - Pertemuan 1-2ghfctrerdxt.pdf
PB1MAT_TIF17 - Pertemuan 1-2ghfctrerdxt.pdfPB1MAT_TIF17 - Pertemuan 1-2ghfctrerdxt.pdf
PB1MAT_TIF17 - Pertemuan 1-2ghfctrerdxt.pdf
Join Sigalingging
 
OS Module-2.pptx
OS Module-2.pptxOS Module-2.pptx
OS Module-2.pptx
bleh23
 
OSModule1 important topics in detailed with examples
OSModule1 important topics in detailed with examplesOSModule1 important topics in detailed with examples
OSModule1 important topics in detailed with examples
JithinS34
 
Operating Systems
Operating Systems Operating Systems
Operating Systems
Fahad Shaikh
 
4 Module - Operating Systems Configuration and Use by Mark John Lado
4 Module - Operating Systems Configuration and Use by Mark John Lado4 Module - Operating Systems Configuration and Use by Mark John Lado
4 Module - Operating Systems Configuration and Use by Mark John Lado
Mark John Lado, MIT
 
OS ppt.pdf
OS ppt.pdfOS ppt.pdf
OS ppt.pdf
PavanKumarPNVS
 
Operating System Concepts Presentation
Operating System Concepts PresentationOperating System Concepts Presentation
Operating System Concepts Presentation
Nitish Jadia
 
Chapter 2 (Part 2)
Chapter 2 (Part 2) Chapter 2 (Part 2)
Chapter 2 (Part 2)
rohassanie
 
windows xp scheduling
windows xp schedulingwindows xp scheduling
windows xp scheduling
shivani monga
 
Real time operating systems
Real time operating systemsReal time operating systems
Real time operating systems
Sri Manakula Vinayagar Engineering College
 
Insider operating system
Insider   operating systemInsider   operating system
Insider operating system
Aditi Saxena
 
Operating System.ppt
Operating System.pptOperating System.ppt
Operating System.ppt
NitihyaAshwinC
 
operating system S6 ktu physics and computer application
operating system S6 ktu physics and computer applicationoperating system S6 ktu physics and computer application
operating system S6 ktu physics and computer application
ebindboby1
 
Module2 MultiThreads.ppt
Module2 MultiThreads.pptModule2 MultiThreads.ppt
Module2 MultiThreads.ppt
shreesha16
 
Thread scheduling...................pptx
Thread scheduling...................pptxThread scheduling...................pptx
Thread scheduling...................pptx
arahanthavarma4
 
Aman 16 os sheduling algorithm methods.pptx
Aman 16 os sheduling algorithm methods.pptxAman 16 os sheduling algorithm methods.pptx
Aman 16 os sheduling algorithm methods.pptx
vikramkagitapu
 
Os examples scheduling
Os examples schedulingOs examples scheduling
Os examples scheduling
Dana dia
 
Scheduler Activations - Effective Kernel Support for the User-Level Managemen...
Scheduler Activations - Effective Kernel Support for the User-Level Managemen...Scheduler Activations - Effective Kernel Support for the User-Level Managemen...
Scheduler Activations - Effective Kernel Support for the User-Level Managemen...
Kasun Gajasinghe
 
In computing, scheduling is the action .
In computing, scheduling is the action .In computing, scheduling is the action .
In computing, scheduling is the action .
nathansel1
 
PB1MAT_TIF17 - Pertemuan 1-2ghfctrerdxt.pdf
PB1MAT_TIF17 - Pertemuan 1-2ghfctrerdxt.pdfPB1MAT_TIF17 - Pertemuan 1-2ghfctrerdxt.pdf
PB1MAT_TIF17 - Pertemuan 1-2ghfctrerdxt.pdf
Join Sigalingging
 
OS Module-2.pptx
OS Module-2.pptxOS Module-2.pptx
OS Module-2.pptx
bleh23
 
OSModule1 important topics in detailed with examples
OSModule1 important topics in detailed with examplesOSModule1 important topics in detailed with examples
OSModule1 important topics in detailed with examples
JithinS34
 
Operating Systems
Operating Systems Operating Systems
Operating Systems
Fahad Shaikh
 
4 Module - Operating Systems Configuration and Use by Mark John Lado
4 Module - Operating Systems Configuration and Use by Mark John Lado4 Module - Operating Systems Configuration and Use by Mark John Lado
4 Module - Operating Systems Configuration and Use by Mark John Lado
Mark John Lado, MIT
 
Operating System Concepts Presentation
Operating System Concepts PresentationOperating System Concepts Presentation
Operating System Concepts Presentation
Nitish Jadia
 
Chapter 2 (Part 2)
Chapter 2 (Part 2) Chapter 2 (Part 2)
Chapter 2 (Part 2)
rohassanie
 
windows xp scheduling
windows xp schedulingwindows xp scheduling
windows xp scheduling
shivani monga
 
Insider operating system
Insider   operating systemInsider   operating system
Insider operating system
Aditi Saxena
 
operating system S6 ktu physics and computer application
operating system S6 ktu physics and computer applicationoperating system S6 ktu physics and computer application
operating system S6 ktu physics and computer application
ebindboby1
 
Ad

Recently uploaded (20)

Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 

Windows process scheduling presentation

  • 3.  Muhammed Talha MCS-13-08  Arslan Azam MCS-13-03  Aitazaz Ahsan MCS-13-38  Muhammed Sohail MCS-13-17  Muhammed Yousaf MCS-13-23  Abida Bibi MCS-13-22  Tayyaba Ghani MCS-13-39
  • 4.  Maximum CPU utilization is obtained with multiprogramming ◦ Several processes are kept in memory at one time ◦ Every time a running process has to wait, another process can take over use of the CPU  Scheduling of the CPU is fundamental to operating system design  The process scheduler is the component of the operating system that is responsible for deciding whether the currently running process should continue running and, if not, which process should run next.
  • 5.  CPU scheduling is affected by the following set of circumstances: 1. (N) A process switches from running to waiting state 2. (P) A process switches from running to ready state 3. (P) A process switches from waiting to ready state 4. (N) A processes switches from running to terminated state  Circumstances 1 and 4 are non-preemptive; they offer no schedule choice  Circumstances 2 and 3 are pre-emptive; they can be scheduled
  • 6.  The 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  The dispatcher needs to run as fast as possible, since it is invoked during process context switch  The time it takes for the dispatcher to stop one process and start another process is called dispatch latency
  • 7.  Different CPU scheduling algorithms have different properties  The choice of a particular algorithm may favour one class of processes over another  In choosing which algorithm to use, the properties of the various algorithms should be considered  Criteria for comparing CPU scheduling algorithms may include the following ◦ CPU utilization ◦ Throughput ◦ Turnaround time ◦ Response time ◦ Waiting time
  • 8.  First Come, First Served (FCFS)  Shortest Job First (SJF)  Priority  Round Robin (RR)
  • 9.  Windows XP schedules threads using a priority-based, pre-emptive scheduler with a flexible system of priority levels that includes round-robin scheduling within each level  The scheduler ensures that the highest priority thread will always run Dispatcher  The portion of the Windows kernel that handles scheduling is called the dispatcher  A thread selected to run by the dispatcher will run until it is preempted by a higher-priority thread, until it terminates, until its time quantum ends, or until it calls a blocking system call such as I/O  If a higher-priority real-time thread becomes ready while a lower-priority thread is running, lower-priority thread will be preempted ◦ This preemption gives a real-time thread preferential access to the CPU when the thread needs such access
  • 11.  The dispatcher uses a 32-level priority scheme to determine the order of thread execution  Priorities are divided into two classes ◦ The variable class contains threads having priorities 1 to 15 ◦ The real-time class contains threads with priorities ranging from 16 to 31 ◦ There is also a thread running at priority 0 that is used for memory management  The dispatcher uses a queue for each scheduling priority and traverses the set of queues from highest to lowest until it finds a thread that is ready to run  If no ready thread is found, the dispatcher will execute a special thread called the idle thread
  • 13.  The Windows Win32 API identifies six priority classes to which a process can belong as shown below ◦ Real-time priority class ◦ High priority class ◦ Above normal priority class ◦ Normal priority class ◦ Below normal priority class ◦ Low priority class  Priorities in all classes except the real-time priority class are variable ◦ This means that the priority of a thread in one of these classes can change
  • 14.  Within each of the priority classes is a relative priority as shown below  The priority of each thread is based on the priority class it belongs to and its relative priority within that class
  • 15.  The initial priority of a thread is typically the base priority of the process that the thread belongs to  When a thread’s time quantum runs out, that thread is interrupted  If the thread is in the variable-priority class, its priority is lowered ◦ However, the priority is never lowered below the base priority  Lowering the thread’s priority tends to limit the CPU consumption of compute-bound threads
  • 16.  When a variable-priority thread is released from a wait operation, the dispatcher boosts the priority ◦ The amount of boost depends on what the thread was waiting for  A thread that was waiting for keyboard I/O would get a large increase  A thread that was waiting for a disk operation would get a moderate increase  This strategy tends to give good response time to interactive threads that are using the mouse and windows  It also enables I/O-bound threads to keep the I/O devices busy while permitting compute-bound threads to use spare CPU cycles in the background  This strategy is used by several time-sharing operating systems, including UNIX  In addition, the window with which the user is currently interacting receives a priority boost to enhance its response time
  • 17.  When a user is running an interactive program, the system needs to provide especially good performance for that process  Therefore, Windows XP has a special scheduling rule for processes in the normal priority class  Windows XP distinguishes between the foreground process that is currently selected on the screen and the background processes that are not currently selected  When a process moves in the foreground, Windows XP increases the scheduling quantum by some factor – typically by 3  This increase gives the foreground process three times longer to run before a time-sharing preemption occurs  https://msdn.microsoft.com/en- us/library/windows/desktop/ms685100(v=vs.85).aspx
  • 18.  Earlier version of Windows provided a feature known as Fiber.  Fibers allowed several user-mode threads (fibers) to be mapped to a single kernel thread.  Fibers were of limited practical use.  A fiber was unable to make calls to the windows API  So Microsoft introduced a UMS.
  • 19.  Windows 7 introduced a user-mode scheduling (UMS), Which allows application to create and manage threads independently of the kernel  Thus , an application can create and scheduled multiple threads without involving the windows Kernel scheduler  Scheduling threads in user mode is much more efficient than kernel mode.  http://superuser.com/questions/452780/scheduling- algorithm-used-in-windows-7
  • 20. CPU cycle-based thread scheduling The scheduler was modified to use the cycle counter register of modern processors to keep track of exactly how many CPU cycles a thread has executed, rather than just using an interval-timer interrupt routine This new CPU cycle-based thread scheduling gives a greater fairness and more deterministic app behavior. http://en.wikipedia.org/wiki/Technical_features_new _to_Windows_Vista#Kernel_and_core_OS_changes
  • 21. WinJS Scheduling  A new scheduler API in Windows 8.1 lets you set the priority of tasks and manage jobs.  This helps you write HTML5 apps that use system resources more efficiently and provide a more responsive experience to your users.  https://msdn.microsoft.com/en- us/library/windows/apps/dn751496.aspx
  • 22. Pre-emptive scheduler with a flexible system of priority levels that includes round-robin with multi level priority queues. Dispatcher used a 32-level priority scheme to determine the order of thread execution. The Windows Win32 API identifies six priority classes The priority of each thread is based on the priority class it belongs to and its relative priority within that class. The initial priority of a thread is typically the base priority of the process that the thread belongs to When a variable-priority thread is released from a wait operation, the dispatcher boosts the priority When a user is running an interactive program, the system needs to provide especially good performance for that process Windows XP distinguishes between the foreground process that is currently selected on the screen and the background processes that are not currently selected
  • 23.  If processer are in idle state which type of process are to be executed ?  Why Fibers are reject to serve as UMS ?  When dispatcher boost the priority which type of thread get a large increase ?  For Which Processes are scheduling quantum by some factor are increased by (eg75%) ?  what is the latest Process Scheduling feature used in windows 8.1 ? And how it’ll beneficial for programmers ?  How many level priority scheme are used to determine ?