SlideShare une entreprise Scribd logo
1  sur  25
THREAD SCHEDULING




                  By-
             Nitish Gulati
THREADS…
 It is the basic unit of CPU utilization
 Comprises of
     thread ID,
     private storage area,
     register set, and
     a stack
Processes



Single Threaded               Multi Threaded
TYPES OF THREADS

                Threads



   User level             Kernel level
OPERATING SYSTEM ARCHITECTURE

                USER


                APPN.


               KERNEL




                 H/W
COMPARISON
Parameters           User Level Threads      Kernel Level
                                             Threads
1. Support           Managed without the     Managed by the OS
                     kernel


2 . Implementation   Through the following   Through the following
                     thread models           thread models
                     •many to many           •One to one
                     •many to one
3. Examples          Depends on the          •Windows XP
                     application             •Solaris 9
                                             •Linux
NEED OF THREAD SCHEDULING?
 To exploit the power of parallelism in a multiprocessor.
 Utilized in medium grained parallelism.
APPROACHES TO THREAD SCHEDULING
 Load Sharing
 Dedicated Processor Assignment

 Dynamic Scheduling
LOAD SHARING

  T1         T2        T3        T4   T5




  P1    P2        P3        P4
ADVANTAGES OF LOAD SHARING
 Load distributed evenly across the processors
 No centralized scheduler required

 Global queue can be organized and accessed
DISADVANTAGES OF LOAD SHARING
   Central queue needs mutual exclusion
DEDICATED PROCESSOR ASSIGNMENT
 When application is scheduled, its threads are
  assigned to a processor that remains dedicated to
  it.
 Some processors may be idle

 No multiprogramming of processors
Test results for multiprocessor system with 16 processors




                       Speedup drops off
                       when number of
                       threads exceeds
                       number of
                       processors
DYNAMIC SCHEDULING
 Number of threads in a process are altered dynamically
  by the application
 Operating system adjusts the load to improve utilization
CASE STUDY: SOLARIS
   Schedules threads based on priority.




                          Priority
                          Classes



                                   Time
Real Time          System                   Interactive
                                  Sharing
SOLARIS SCHEDULING
FEATURES OF PRIORITY IN SOLARIS
   Altered dynamically
                    250

                    200
     Time Quantum




                    150

                    100

                     50

                      0
                          1   2       3         4   5
                                   Priority
   Benefits-
     Good response time to interactive processes
     Good throughput
CASE STUDY: LINUX
 Uses a priority-based, preemptive scheduling
  algorithm.
 Interactive tasks are assigned higher priority



                      Priority
                      Scheme


            Real time             Nice
             [0-99]            [100-140]
RELATIONSHIP BETWEEN TIME SLICE AND PRIORITIES
250


               200
Time Quantum




               150


               100


                50


                 0
                     1   2      3       4   5
                             Priority
LIST OF TASKS INDEXED ACCORDING TO PRIORITY
CASE STUDY: WINDOWS XP
 Uses a priority-based, preemptive scheduling
  algorithm.
 The dispatcher uses a 32 bit priority scheme.




                     32 bit priority




                                  Real time
           Variable class
                                   class
               [1-15]
                                   [1-15]
 Distributed into classes
 Base priority.

 Priority is increased by the dispatcher.

 The increase depends on the operation.
EXAMPLE




  Initial Priority=8   Initial Priority=9




 After increase=11        After increase=12
THANK YOU

Contenu connexe

Tendances

Tendances (20)

Multithreading
MultithreadingMultithreading
Multithreading
 
Critical section problem in operating system.
Critical section problem in operating system.Critical section problem in operating system.
Critical section problem in operating system.
 
Dead Lock in operating system
Dead Lock in operating systemDead Lock in operating system
Dead Lock in operating system
 
Introduction to System Calls
Introduction to System CallsIntroduction to System Calls
Introduction to System Calls
 
Lecture 1 (distributed systems)
Lecture 1 (distributed systems)Lecture 1 (distributed systems)
Lecture 1 (distributed systems)
 
Threads (operating System)
Threads (operating System)Threads (operating System)
Threads (operating System)
 
System calls
System callsSystem calls
System calls
 
Process in operating system
Process in operating systemProcess in operating system
Process in operating system
 
Process of operating system
Process of operating systemProcess of operating system
Process of operating system
 
Parallel processing
Parallel processingParallel processing
Parallel processing
 
Mutual exclusion and sync
Mutual exclusion and syncMutual exclusion and sync
Mutual exclusion and sync
 
Deadlock ppt
Deadlock ppt Deadlock ppt
Deadlock ppt
 
Semaphores
SemaphoresSemaphores
Semaphores
 
Process scheduling linux
Process scheduling linuxProcess scheduling linux
Process scheduling linux
 
Processes Control Block (Operating System)
Processes Control Block (Operating System)Processes Control Block (Operating System)
Processes Control Block (Operating System)
 
Parallel processing
Parallel processingParallel processing
Parallel processing
 
Process synchronization in Operating Systems
Process synchronization in Operating SystemsProcess synchronization in Operating Systems
Process synchronization in Operating Systems
 
Multithreading
Multithreading Multithreading
Multithreading
 
Process scheduling
Process schedulingProcess scheduling
Process scheduling
 
Memory Management in OS
Memory Management in OSMemory Management in OS
Memory Management in OS
 

Similaire à Thread scheduling in Operating Systems

Module2 MultiThreads.ppt
Module2 MultiThreads.pptModule2 MultiThreads.ppt
Module2 MultiThreads.pptshreesha16
 
Operating system 20 threads
Operating system 20 threadsOperating system 20 threads
Operating system 20 threadsVaibhav Khanna
 
System models for distributed and cloud computing
System models for distributed and cloud computingSystem models for distributed and cloud computing
System models for distributed and cloud computingpurplesea
 
Scaling up java applications on windows
Scaling up java applications on windowsScaling up java applications on windows
Scaling up java applications on windowsJuarez Junior
 
Parallel Computing
Parallel ComputingParallel Computing
Parallel ComputingMohsin Bhat
 
Introduction to Cloud Data Center and Network Issues
Introduction to Cloud Data Center and Network IssuesIntroduction to Cloud Data Center and Network Issues
Introduction to Cloud Data Center and Network IssuesJason TC HOU (侯宗成)
 
Coding For Cores - C# Way
Coding For Cores - C# WayCoding For Cores - C# Way
Coding For Cores - C# WayBishnu Rawal
 
Multithreaded Programming Part- I.pdf
Multithreaded Programming Part- I.pdfMultithreaded Programming Part- I.pdf
Multithreaded Programming Part- I.pdfHarika Pudugosula
 
Oracle VM – the coolest virtualizator you’ve ever had
Oracle VM – the coolest virtualizator you’ve ever had Oracle VM – the coolest virtualizator you’ve ever had
Oracle VM – the coolest virtualizator you’ve ever had ORACLE USER GROUP ESTONIA
 
F9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems
F9: A Secure and Efficient Microkernel Built for Deeply Embedded SystemsF9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems
F9: A Secure and Efficient Microkernel Built for Deeply Embedded SystemsNational Cheng Kung University
 
INF7827 DRS Best Practices
INF7827 DRS Best PracticesINF7827 DRS Best Practices
INF7827 DRS Best PracticesBrian Graf
 
Capacity & Performance Management in Solaris Virtualized Environment
Capacity & Performance Management in Solaris Virtualized EnvironmentCapacity & Performance Management in Solaris Virtualized Environment
Capacity & Performance Management in Solaris Virtualized EnvironmentNeeraj Bhatia
 
Next-Gen Decision Making in Under 2ms
Next-Gen Decision Making in Under 2msNext-Gen Decision Making in Under 2ms
Next-Gen Decision Making in Under 2msIlya Ganelin
 

Similaire à Thread scheduling in Operating Systems (20)

Ch4 threads
Ch4   threadsCh4   threads
Ch4 threads
 
Module2 MultiThreads.ppt
Module2 MultiThreads.pptModule2 MultiThreads.ppt
Module2 MultiThreads.ppt
 
Operating system 20 threads
Operating system 20 threadsOperating system 20 threads
Operating system 20 threads
 
Ch04 threads
Ch04 threadsCh04 threads
Ch04 threads
 
System models for distributed and cloud computing
System models for distributed and cloud computingSystem models for distributed and cloud computing
System models for distributed and cloud computing
 
Scaling up java applications on windows
Scaling up java applications on windowsScaling up java applications on windows
Scaling up java applications on windows
 
Parallel Computing
Parallel ComputingParallel Computing
Parallel Computing
 
Introduction to Cloud Data Center and Network Issues
Introduction to Cloud Data Center and Network IssuesIntroduction to Cloud Data Center and Network Issues
Introduction to Cloud Data Center and Network Issues
 
Coding For Cores - C# Way
Coding For Cores - C# WayCoding For Cores - C# Way
Coding For Cores - C# Way
 
Multithreaded Programming Part- I.pdf
Multithreaded Programming Part- I.pdfMultithreaded Programming Part- I.pdf
Multithreaded Programming Part- I.pdf
 
Threads.ppt
Threads.pptThreads.ppt
Threads.ppt
 
CloudStack technical overview
CloudStack technical overviewCloudStack technical overview
CloudStack technical overview
 
Oracle VM – the coolest virtualizator you’ve ever had
Oracle VM – the coolest virtualizator you’ve ever had Oracle VM – the coolest virtualizator you’ve ever had
Oracle VM – the coolest virtualizator you’ve ever had
 
F9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems
F9: A Secure and Efficient Microkernel Built for Deeply Embedded SystemsF9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems
F9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems
 
INF7827 DRS Best Practices
INF7827 DRS Best PracticesINF7827 DRS Best Practices
INF7827 DRS Best Practices
 
Capacity & Performance Management in Solaris Virtualized Environment
Capacity & Performance Management in Solaris Virtualized EnvironmentCapacity & Performance Management in Solaris Virtualized Environment
Capacity & Performance Management in Solaris Virtualized Environment
 
Cloud iaa s-labs- ubuntu canonical- fossa2010
Cloud iaa s-labs- ubuntu canonical- fossa2010Cloud iaa s-labs- ubuntu canonical- fossa2010
Cloud iaa s-labs- ubuntu canonical- fossa2010
 
Univa Presentation at DAC 2020
Univa Presentation at DAC 2020 Univa Presentation at DAC 2020
Univa Presentation at DAC 2020
 
CloudStack Architecture
CloudStack ArchitectureCloudStack Architecture
CloudStack Architecture
 
Next-Gen Decision Making in Under 2ms
Next-Gen Decision Making in Under 2msNext-Gen Decision Making in Under 2ms
Next-Gen Decision Making in Under 2ms
 

Dernier

WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Dernier (20)

WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 

Thread scheduling in Operating Systems

  • 1. THREAD SCHEDULING By- Nitish Gulati
  • 2. THREADS…  It is the basic unit of CPU utilization  Comprises of  thread ID,  private storage area,  register set, and  a stack
  • 3. Processes Single Threaded Multi Threaded
  • 4. TYPES OF THREADS Threads User level Kernel level
  • 5. OPERATING SYSTEM ARCHITECTURE USER APPN. KERNEL H/W
  • 6. COMPARISON Parameters User Level Threads Kernel Level Threads 1. Support Managed without the Managed by the OS kernel 2 . Implementation Through the following Through the following thread models thread models •many to many •One to one •many to one 3. Examples Depends on the •Windows XP application •Solaris 9 •Linux
  • 7. NEED OF THREAD SCHEDULING?  To exploit the power of parallelism in a multiprocessor.  Utilized in medium grained parallelism.
  • 8. APPROACHES TO THREAD SCHEDULING  Load Sharing  Dedicated Processor Assignment  Dynamic Scheduling
  • 9. LOAD SHARING T1 T2 T3 T4 T5 P1 P2 P3 P4
  • 10. ADVANTAGES OF LOAD SHARING  Load distributed evenly across the processors  No centralized scheduler required  Global queue can be organized and accessed
  • 11. DISADVANTAGES OF LOAD SHARING  Central queue needs mutual exclusion
  • 12. DEDICATED PROCESSOR ASSIGNMENT  When application is scheduled, its threads are assigned to a processor that remains dedicated to it.  Some processors may be idle  No multiprogramming of processors
  • 13. Test results for multiprocessor system with 16 processors Speedup drops off when number of threads exceeds number of processors
  • 14. DYNAMIC SCHEDULING  Number of threads in a process are altered dynamically by the application  Operating system adjusts the load to improve utilization
  • 15. CASE STUDY: SOLARIS  Schedules threads based on priority. Priority Classes Time Real Time System Interactive Sharing
  • 17. FEATURES OF PRIORITY IN SOLARIS  Altered dynamically 250 200 Time Quantum 150 100 50 0 1 2 3 4 5 Priority  Benefits-  Good response time to interactive processes  Good throughput
  • 18. CASE STUDY: LINUX  Uses a priority-based, preemptive scheduling algorithm.  Interactive tasks are assigned higher priority Priority Scheme Real time Nice [0-99] [100-140]
  • 19. RELATIONSHIP BETWEEN TIME SLICE AND PRIORITIES
  • 20. 250 200 Time Quantum 150 100 50 0 1 2 3 4 5 Priority
  • 21. LIST OF TASKS INDEXED ACCORDING TO PRIORITY
  • 22. CASE STUDY: WINDOWS XP  Uses a priority-based, preemptive scheduling algorithm.  The dispatcher uses a 32 bit priority scheme. 32 bit priority Real time Variable class class [1-15] [1-15]
  • 23.  Distributed into classes  Base priority.  Priority is increased by the dispatcher.  The increase depends on the operation.
  • 24. EXAMPLE Initial Priority=8 Initial Priority=9 After increase=11 After increase=12

Notes de l'éditeur

  1. private storage area(used for DLLs),register set(status of the processor), and a stack(user stack when running in user mode & kernel stack for kernel mode)
  2. As is clear from here, shares code & data section
  3. What exactly is medium grained parallelism? In 1 sentenceSingle application is a collection of threadsThreads usually interact frequently, affecting the performance of the entire application
  4. Processes not assigned to a particular processorA global queue of ready threads is maintainedEach processor, when idle , selects a thread from the queue.
  5. Explain 2nd point…when processor is available,schedulingalgo is run to select next ttread according to the desire of the programmer
  6. Add about Mach OSpointA refinement of the load-sharing technique is used in the Mach operating system[BLAC90, WEND89]. The operating system maintains a local run queue foreach processor and a shared global run queue. The local run queue is used bythreads that have been temporarily bound to a specific processor. A processor examinesthe local run queue first to give bound threads absolute preference over unboundthreads. As an example of the use of bound threads, one or more processorscould be dedicated to running processes that are part of the operating system.May be a bottleneck when more than one processor looks for work at the same time
  7. There are two observations regarding this extreme strategy that indicate better than expected performance:In a highly parallel system, with tens or hundreds of processors, each of which represents a small fraction of the cost of the system, processor utilization is no longer an extremely important metric for effectiveness or performance.Total avoidance of process switching during the lifetime of a program should result in a substantial speedup of that program
  8. As seen from the diag., the scheduler converts the threads priority into a global priority and then schedules the highest one foremost.The real time processes are given highest priority.
  9. Priority and time slice are inversely proportionalInteractive processes have a higher priorityCPU bound processes have a lower priority
  10. Interactivity is determined depending on the sleep time of the task, ie, how long it has been waiting for I/OTasks that are more interactive have higher sleep times
  11. A runnable task is considered eligible for execution as long as it has its remaining time quantumThe runnable tasks are maintained on a runqueue data structure which contains 2 priority arraysOn multiprocessors,each processor schedules the highest priority task from its own runqueueWhen exhausted the 2 arrays are exchanged
  12. Schedules threads using a priority-based, preemptive scheduling algorithm.
  13. divided according to the Win32 API.Each thread has a bWhen released from wait operation, its
  14. Addeg of foreground & background process