SlideShare une entreprise Scribd logo
1  sur  22
CPU
Scheduling
Algorithms

       Group No. 2   1
Overview
   Basic Concepts
   Scheduling Criteria
   Scheduling Algorithms
   Implementation in C++
   Demonstration
   Involvement of Operating System

                            CPU Scheduling Algorithms   2
Basic Concepts
   Main objective of multiprogramming is to keep on
    running processes all the time for maximum CPU
    utilization.

   Scheduling is fundamental function of OS.

   The task of selecting the processes in memory that
    are ready to execute, and allocating them to the
    CPU is performed by the CPU Scheduler.




                                 CPU Scheduling Algorithms   3
CPU Scheduler
   CPU scheduling decisions may take place when a
    process:
    o 1. Switches from running to waiting state

    o 2. Switches from running to ready state

    o 3. Switches from waiting to ready

    o 4. Terminates

   Scheduling under 1 and 4 is non preemptive.
   All other scheduling is preemptive.




                                CPU Scheduling Algorithms   4
CONT…
CPU Scheduler
   Nonpreemptive
      Once a process is allocated the CPU, it does not
      leave unless:
      o it has to wait, e.g., for I/O request 

      o it terminates  

   Preemptive
      o OS can force (preempt) a process from CPU at

        anytime
      o E.g., to allocate CPU to another higher-priority

        process 


                                  CPU Scheduling Algorithms           5
Scheduling Criteria

 CPU   utilization: keep the CPU as busy as possible
  ◦ Maximize
 Throughput: No of processes that complete their
  execution per time unit
  ◦ Maximize
 Turnaround time: amount of time to execute a
  particular process (time from submission to
  termination)
  ◦ Minimize



                               CPU Scheduling Algorithms   6
CONT…
Scheduling Criteria

   Waiting time: amount of time a process has been
    waiting in the ready queue (sum of time waiting in
    ready queue)
    o Minimize

   Response time – amount of time it takes from when
    a request was submitted until the first response is
    produced,     not    output   (for     time-sharing
    environment)
    o Minimize




                                 CPU Scheduling Algorithms           7
Scheduling Algorithms
   First Come, First Served
   Shortest Job First
   Priority
   Round Robin




                               CPU Scheduling Algorithms   8
Implementation in C++
   Class: cpuschedule
   Attributes:
         o n     – number of processes
         o Bu[ ] – Array to store Burst Time

         o A[ ]  – Array to store Arrival Time
         o Wt[ ] – Array to store Waiting Time

         o Twt   – Total Waiting Time
         o Awt   – Average Waiting Time



                                 CPU Scheduling Algorithms   9
CONT…

Implementation in C++
 Operations:
   o   Getdata() – To get number of processes and
       Burst Times from the user
   o   Fcfs() – First Come, First Served Algorithm
   o   Sjf() – Shortest Job First (normal) Algorithm
   o   SjfP() – Shortest Job First (Preemption)
       Algorithm
   o   SjfNp() – Shortest Job First (non
       preemption) Algorithm
   o   Priority() – Priority Algorithm
   o   RoundRobin() – Round Robin Algorithm

                                  CPU Scheduling Algorithms           10
First Come, First Served
                    Process Burst Time
                      P1        24
                      P2         3
                      P3        3
       Suppose that the processes arrive in the order:
         P1 , P2 , P3
       The Gantt Chart for the schedule is:
                   P1                   P2          P3


    0                              24        27           30

       Waiting time for P1 = 0; P2 = 24; P3 = 27
       Average waiting time: (0 + 24 + 27)/3 = 17
                                         CPU Scheduling Algorithms   11
First Come First                                                      CONT…


Served
   Suppose that the processes arrive in the order :
    P2 , P3 , P1 (P1:24,P2:3,P3:3)
   The Gantt chart for the schedule is:
          P2       P3                P1


      0        3        6                                  30

   Waiting time for P1 = 6; P2 = 0; P3 = 3
   Average waiting time: (6 + 0 + 3)/3 = 3
   Much better than previous case
   Convoy effect - short process behind long process


                                          CPU Scheduling Algorithms       12
Shortest Job First
                         Normal SJF
               Process               Burst Time
                 P1                        7
                   P2                        3
                   P3                        4

   The Gantt Chart for SJF (Normal) is:
          P2        P3          P1

      0        3         7                 14

   Average waiting time = (0 + 3 + 7)/3 = 3.33
                                      CPU Scheduling Algorithms   13
Shortest Job First
                                                                          CONT…



                   Non-Preemptive SJF

    Process                Arrival Time                        Burst Time
    P1                       0.0                                   7
    P2                          2.0                                       4
    P3                          4.0                                       1
    P4                          5.0                                       4
   The Gantt Chart for SJF (non-preemptive) is:
              P1                P3       P2           P4


         0    2    4   5    7        8        12               16

   Average waiting time = (0 + 6 + 3 + 7)/4 = 4
                                              CPU Scheduling Algorithms           14
Shortest Job First
                                                                                 CONT…


                              Preemptive SJF
  Process                          Arrival Time                       Burst Time
  P1                                 0.0                                  7
  P2                                 2.0                                  4
  P3                                 4.0                                  1
  P4                                 5.0                                  4

 The   Gantt Chart for SJF (preemptive) is:

            P1       P2       P3       P2       P4                  P1


        0        2        4        5        7           11                       16
 Average        waiting time = (9 + 1 + 0 +2)/4 = 3

                                                     CPU Scheduling Algorithms           15
Shortest Job First
                                                                CONT…



 Associate with each process the length of its next CPU
  burst.
 Use these lengths to schedule the process with the
  shortest time.
 Two schemes:
  o Non-Preemptive: once CPU given to the process it
    cannot be preempted until completes its CPU burst.
  o Preemptive: if a new process arrives with CPU burst
    length less than remaining time of current executing
    process, preempt. This scheme is know as the
    Shortest-Remaining-Time-First (SRTF).
 SJF is optimal: gives minimum average waiting time for a
  given set of processes.


                                    CPU Scheduling Algorithms           16
Priority
      Process                 Burst Time                        Priority
       P1                        10                               3
       P2                         1                               1
       P3                         2                               4
       P4                         1                               5
       P5                         5                               2

   Gantt Chart
            P2       P5          P1                 P3          P4


        0        1        6                   16          18           19

   Average waiting time = (6 + 0 + 16 + 18 + 1)/5 = 8.2
                                           CPU Scheduling Algorithms        17
Priority
                                                              CONT…


A   priority number (integer) is associated with each
  process.
 Lager the CPU burst lower the priority.
 The CPU is allocated to the process with the highest
  priority (smallest integer ≡ highest priority)
 Starvation (Infinity blocking): low priority processes
  may never execute.
 Aging: as time progresses increase the priority of the
  process.




                                  CPU Scheduling Algorithms           18
Round Robin
                             Process                   Burst Time
                               P1                          24
                               P2                           3
                               P3                           3

 Quantum  time = 4 milliseconds
 The Gantt chart is:


           P1       P2       P3        P1        P1        P1        P1        P1

       0        4        7        10        14        18        22        26        30
 Average   waiting time = {[0+(10-4)]+4+7}/3 = 5.6


                                                                 CPU Scheduling Algorithms   19
Round Robin
                                                               CONT…



   Typically, higher average turnaround than SJF, but
    better response
   Each process gets a small unit of CPU time (time
    quantum), usually 10-100 milliseconds. After this
    time has elapsed, the process is preempted and
    added to the end of the ready queue.
   Performance
    o q large ⇒ FCFS
    o q small ⇒ q must be large with respect to
      context switch, otherwise overhead is too high




                                   CPU Scheduling Algorithms           20
Involvement of OS
              Source Code    (.c)



  Compiler     Conversion        (.i , .o)



              Executable   (.exe)




  Microsoft                       (load executable
               Micro-kernel
  Windows                        directly to memory)


                 Memory

    CPU
                    Scheduling
                    Algorithms
    Execut
      e
                        CPU Scheduling Algorithms      21
CPU
Scheduling
Algorithms
  Group No. 2

          Group No. 2   22

Contenu connexe

Tendances

Process management in os
Process management in osProcess management in os
Process management in os
Miong Lazaro
 
17 cpu scheduling and scheduling criteria
17 cpu scheduling and scheduling criteria 17 cpu scheduling and scheduling criteria
17 cpu scheduling and scheduling criteria
myrajendra
 

Tendances (20)

Process scheduling (CPU Scheduling)
Process scheduling (CPU Scheduling)Process scheduling (CPU Scheduling)
Process scheduling (CPU Scheduling)
 
MULTILEVEL QUEUE SCHEDULING
MULTILEVEL QUEUE SCHEDULINGMULTILEVEL QUEUE SCHEDULING
MULTILEVEL QUEUE SCHEDULING
 
Process synchronization
Process synchronizationProcess synchronization
Process synchronization
 
Process scheduling
Process schedulingProcess scheduling
Process scheduling
 
Cpu scheduling
Cpu schedulingCpu scheduling
Cpu scheduling
 
Process management in os
Process management in osProcess management in os
Process management in os
 
Priority scheduling algorithms
Priority scheduling algorithmsPriority scheduling algorithms
Priority scheduling algorithms
 
17 cpu scheduling and scheduling criteria
17 cpu scheduling and scheduling criteria 17 cpu scheduling and scheduling criteria
17 cpu scheduling and scheduling criteria
 
Memory Management in OS
Memory Management in OSMemory Management in OS
Memory Management in OS
 
cpu scheduling
cpu schedulingcpu scheduling
cpu scheduling
 
Operating Systems Process Scheduling Algorithms
Operating Systems   Process Scheduling AlgorithmsOperating Systems   Process Scheduling Algorithms
Operating Systems Process Scheduling Algorithms
 
Process synchronization in Operating Systems
Process synchronization in Operating SystemsProcess synchronization in Operating Systems
Process synchronization in Operating Systems
 
Scheduling
SchedulingScheduling
Scheduling
 
Process state in OS
Process state in OSProcess state in OS
Process state in OS
 
Operating system 31 multiple processor scheduling
Operating system 31 multiple processor schedulingOperating system 31 multiple processor scheduling
Operating system 31 multiple processor scheduling
 
CPU Scheduling algorithms
CPU Scheduling algorithmsCPU Scheduling algorithms
CPU Scheduling algorithms
 
Semophores and it's types
Semophores and it's typesSemophores and it's types
Semophores and it's types
 
Operating System Scheduling Algorithms
Operating System Scheduling AlgorithmsOperating System Scheduling Algorithms
Operating System Scheduling Algorithms
 
Deadlock
DeadlockDeadlock
Deadlock
 
Methods for handling deadlock
Methods for handling deadlockMethods for handling deadlock
Methods for handling deadlock
 

En vedette

OS - CPU Scheduling
OS - CPU SchedulingOS - CPU Scheduling
OS - CPU Scheduling
vinay arora
 
Cpu presentation
Cpu presentationCpu presentation
Cpu presentation
Harry Singh
 
Chapter 4 Microprocessor CPU
Chapter 4 Microprocessor CPUChapter 4 Microprocessor CPU
Chapter 4 Microprocessor CPU
askme
 
Process Synchronization And Deadlocks
Process Synchronization And DeadlocksProcess Synchronization And Deadlocks
Process Synchronization And Deadlocks
tech2click
 

En vedette (17)

Process Scheduling
Process SchedulingProcess Scheduling
Process Scheduling
 
Os Question Bank
Os Question BankOs Question Bank
Os Question Bank
 
Scheduling Algorithms
Scheduling AlgorithmsScheduling Algorithms
Scheduling Algorithms
 
OS - CPU Scheduling
OS - CPU SchedulingOS - CPU Scheduling
OS - CPU Scheduling
 
CPU scheduling algorithms in OS
CPU scheduling algorithms in OSCPU scheduling algorithms in OS
CPU scheduling algorithms in OS
 
Programming Key terms Flash Cards
Programming Key terms Flash CardsProgramming Key terms Flash Cards
Programming Key terms Flash Cards
 
Cpu presentation
Cpu presentationCpu presentation
Cpu presentation
 
Central Processing Unit
Central Processing UnitCentral Processing Unit
Central Processing Unit
 
Cpu ppt cse
Cpu ppt cseCpu ppt cse
Cpu ppt cse
 
GCSE Compuitng Hardware Key terms
GCSE Compuitng Hardware Key termsGCSE Compuitng Hardware Key terms
GCSE Compuitng Hardware Key terms
 
Cpu Scheduling Galvin
Cpu Scheduling GalvinCpu Scheduling Galvin
Cpu Scheduling Galvin
 
Motherboard
MotherboardMotherboard
Motherboard
 
Motherboard components and their functions
Motherboard components and their functionsMotherboard components and their functions
Motherboard components and their functions
 
Chapter 4 Microprocessor CPU
Chapter 4 Microprocessor CPUChapter 4 Microprocessor CPU
Chapter 4 Microprocessor CPU
 
Process Synchronization And Deadlocks
Process Synchronization And DeadlocksProcess Synchronization And Deadlocks
Process Synchronization And Deadlocks
 
Process scheduling
Process schedulingProcess scheduling
Process scheduling
 
Motherboard and its components
Motherboard and its componentsMotherboard and its components
Motherboard and its components
 

Similaire à CPU Scheduling Algorithms (20)

cpu schduling ppt.pdf
cpu schduling ppt.pdfcpu schduling ppt.pdf
cpu schduling ppt.pdf
 
Os module 2 ba
Os module 2 baOs module 2 ba
Os module 2 ba
 
Algorithm o.s.
Algorithm o.s.Algorithm o.s.
Algorithm o.s.
 
5 Process Scheduling
5 Process Scheduling5 Process Scheduling
5 Process Scheduling
 
Cpu scheduling
Cpu schedulingCpu scheduling
Cpu scheduling
 
Sa by shekhar
Sa by shekharSa by shekhar
Sa by shekhar
 
Operating System 5
Operating System 5Operating System 5
Operating System 5
 
OSCh6
OSCh6OSCh6
OSCh6
 
OS_Ch6
OS_Ch6OS_Ch6
OS_Ch6
 
CPU Scheduling
CPU SchedulingCPU Scheduling
CPU Scheduling
 
CPU Scheduling.pdf
CPU Scheduling.pdfCPU Scheduling.pdf
CPU Scheduling.pdf
 
Operating Systems Third Unit - Fourth Semester - Engineering
Operating Systems Third Unit  - Fourth Semester - EngineeringOperating Systems Third Unit  - Fourth Semester - Engineering
Operating Systems Third Unit - Fourth Semester - Engineering
 
Fcfs and sjf
Fcfs and sjfFcfs and sjf
Fcfs and sjf
 
Ch5
Ch5Ch5
Ch5
 
Reviewer cpu scheduling
Reviewer cpu schedulingReviewer cpu scheduling
Reviewer cpu scheduling
 
CH06.pdf
CH06.pdfCH06.pdf
CH06.pdf
 
Scheduling algorithm (chammu)
Scheduling algorithm (chammu)Scheduling algorithm (chammu)
Scheduling algorithm (chammu)
 
CPU Scheduling
CPU SchedulingCPU Scheduling
CPU Scheduling
 
Ch6
Ch6Ch6
Ch6
 
Ch05
Ch05Ch05
Ch05
 

Dernier

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
Enterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Dernier (20)

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
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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...
 
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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

CPU Scheduling Algorithms

  • 2. Overview  Basic Concepts  Scheduling Criteria  Scheduling Algorithms  Implementation in C++  Demonstration  Involvement of Operating System CPU Scheduling Algorithms 2
  • 3. Basic Concepts  Main objective of multiprogramming is to keep on running processes all the time for maximum CPU utilization.  Scheduling is fundamental function of OS.  The task of selecting the processes in memory that are ready to execute, and allocating them to the CPU is performed by the CPU Scheduler. CPU Scheduling Algorithms 3
  • 4. CPU Scheduler  CPU scheduling decisions may take place when a process: o 1. Switches from running to waiting state o 2. Switches from running to ready state o 3. Switches from waiting to ready o 4. Terminates  Scheduling under 1 and 4 is non preemptive.  All other scheduling is preemptive. CPU Scheduling Algorithms 4
  • 5. CONT… CPU Scheduler  Nonpreemptive Once a process is allocated the CPU, it does not leave unless: o it has to wait, e.g., for I/O request  o it terminates    Preemptive o OS can force (preempt) a process from CPU at anytime o E.g., to allocate CPU to another higher-priority process  CPU Scheduling Algorithms 5
  • 6. Scheduling Criteria  CPU utilization: keep the CPU as busy as possible ◦ Maximize  Throughput: No of processes that complete their execution per time unit ◦ Maximize  Turnaround time: amount of time to execute a particular process (time from submission to termination) ◦ Minimize CPU Scheduling Algorithms 6
  • 7. CONT… Scheduling Criteria  Waiting time: amount of time a process has been waiting in the ready queue (sum of time waiting in ready queue) o Minimize  Response time – amount of time it takes from when a request was submitted until the first response is produced, not output  (for time-sharing environment) o Minimize CPU Scheduling Algorithms 7
  • 8. Scheduling Algorithms  First Come, First Served  Shortest Job First  Priority  Round Robin CPU Scheduling Algorithms 8
  • 9. Implementation in C++  Class: cpuschedule  Attributes: o n – number of processes o Bu[ ] – Array to store Burst Time o A[ ] – Array to store Arrival Time o Wt[ ] – Array to store Waiting Time o Twt – Total Waiting Time o Awt – Average Waiting Time CPU Scheduling Algorithms 9
  • 10. CONT… Implementation in C++  Operations: o Getdata() – To get number of processes and Burst Times from the user o Fcfs() – First Come, First Served Algorithm o Sjf() – Shortest Job First (normal) Algorithm o SjfP() – Shortest Job First (Preemption) Algorithm o SjfNp() – Shortest Job First (non preemption) Algorithm o Priority() – Priority Algorithm o RoundRobin() – Round Robin Algorithm CPU Scheduling Algorithms 10
  • 11. First Come, First Served Process Burst Time P1 24 P2 3 P3 3  Suppose that the processes arrive in the order: P1 , P2 , P3  The Gantt Chart for the schedule is: P1 P2 P3 0 24 27 30  Waiting time for P1 = 0; P2 = 24; P3 = 27  Average waiting time: (0 + 24 + 27)/3 = 17 CPU Scheduling Algorithms 11
  • 12. First Come First CONT… Served  Suppose that the processes arrive in the order : P2 , P3 , P1 (P1:24,P2:3,P3:3)  The Gantt chart for the schedule is: P2 P3 P1 0 3 6 30  Waiting time for P1 = 6; P2 = 0; P3 = 3  Average waiting time: (6 + 0 + 3)/3 = 3  Much better than previous case  Convoy effect - short process behind long process CPU Scheduling Algorithms 12
  • 13. Shortest Job First Normal SJF Process Burst Time P1 7 P2 3 P3 4  The Gantt Chart for SJF (Normal) is: P2 P3 P1 0 3 7 14  Average waiting time = (0 + 3 + 7)/3 = 3.33 CPU Scheduling Algorithms 13
  • 14. Shortest Job First CONT… Non-Preemptive SJF Process Arrival Time Burst Time P1 0.0 7 P2 2.0 4 P3 4.0 1 P4 5.0 4  The Gantt Chart for SJF (non-preemptive) is: P1 P3 P2 P4 0 2 4 5 7 8 12 16  Average waiting time = (0 + 6 + 3 + 7)/4 = 4 CPU Scheduling Algorithms 14
  • 15. Shortest Job First CONT… Preemptive SJF Process Arrival Time Burst Time P1 0.0 7 P2 2.0 4 P3 4.0 1 P4 5.0 4  The Gantt Chart for SJF (preemptive) is: P1 P2 P3 P2 P4 P1 0 2 4 5 7 11 16  Average waiting time = (9 + 1 + 0 +2)/4 = 3 CPU Scheduling Algorithms 15
  • 16. Shortest Job First CONT…  Associate with each process the length of its next CPU burst.  Use these lengths to schedule the process with the shortest time.  Two schemes: o Non-Preemptive: once CPU given to the process it cannot be preempted until completes its CPU burst. o Preemptive: if a new process arrives with CPU burst length less than remaining time of current executing process, preempt. This scheme is know as the Shortest-Remaining-Time-First (SRTF).  SJF is optimal: gives minimum average waiting time for a given set of processes. CPU Scheduling Algorithms 16
  • 17. Priority Process Burst Time Priority P1 10 3 P2 1 1 P3 2 4 P4 1 5 P5 5 2  Gantt Chart P2 P5 P1 P3 P4 0 1 6 16 18 19  Average waiting time = (6 + 0 + 16 + 18 + 1)/5 = 8.2 CPU Scheduling Algorithms 17
  • 18. Priority CONT… A priority number (integer) is associated with each process.  Lager the CPU burst lower the priority.  The CPU is allocated to the process with the highest priority (smallest integer ≡ highest priority)  Starvation (Infinity blocking): low priority processes may never execute.  Aging: as time progresses increase the priority of the process. CPU Scheduling Algorithms 18
  • 19. Round Robin Process Burst Time P1 24 P2 3 P3 3  Quantum time = 4 milliseconds  The Gantt chart is: P1 P2 P3 P1 P1 P1 P1 P1 0 4 7 10 14 18 22 26 30  Average waiting time = {[0+(10-4)]+4+7}/3 = 5.6 CPU Scheduling Algorithms 19
  • 20. Round Robin CONT…  Typically, higher average turnaround than SJF, but better response  Each process gets a small unit of CPU time (time quantum), usually 10-100 milliseconds. After this time has elapsed, the process is preempted and added to the end of the ready queue.  Performance o q large ⇒ FCFS o q small ⇒ q must be large with respect to context switch, otherwise overhead is too high CPU Scheduling Algorithms 20
  • 21. Involvement of OS Source Code (.c) Compiler Conversion (.i , .o) Executable (.exe) Microsoft (load executable Micro-kernel Windows directly to memory) Memory CPU Scheduling Algorithms Execut e CPU Scheduling Algorithms 21
  • 22. CPU Scheduling Algorithms Group No. 2 Group No. 2 22

Notes de l'éditeur

  1. Sonali C. UDIT CPU Scheduling Aging - Gradually increasing the priority of process that waits in the system for long time.