SlideShare une entreprise Scribd logo
1  sur  4
Télécharger pour lire hors ligne
Processes and State Transitions

                                                                                                  Ready
                                                                                                  Ready                                 Running
                                                                                                                                        Running
                                                                           Head

                                                                            Tail
                                                                                   ready queue                       Waiting
                                                                                                                     Waiting

                                                                                                  Head
                                                                                                   Tail
                  Process Scheduling
                                                                                                          resource/synchronization queues

                                                                              Three states: Ready, Running, and Waiting
                                                                        When aaprocess makes aatransition:
                                                                        When process makes transition:              Why aaprocess makes aatransition:
                                                                                                                    Why process makes transition:
                                                                          1. from running to waiting
                                                                           1. from running to waiting                1. an action of the process
                                                                                                                      1. an action of the process
                                                                          2. from running to ready
                                                                           2. from running to ready                           non-preemptive scheduling
                                                                                                                               non-preemptive scheduling
                                                                          3. from waiting to ready
                                                                           3. from waiting to ready                    2. occurrence of an external event
                                                                                                                        2. occurrence of an external event
                                                                             (3aa.aaprocess is created ))                     preemptive scheduling
                                                                              (3 . process is created                          preemptive scheduling
                                                                          4. from running to terminated
                                                                           4. from running to terminated
                                                                    1                                                                                            2




                                                                           Scheduling Policies
Process Scheduling                                                         First-Come-First-Served               (FCFS)


   Process scheduling                                                        The discipline corresponding to FIFO queuing

    ÿ Select a process from ready                                            Example — 3 processes w/ compute times 12, 3, and 3
      queue for execution                                                      ÿ Job arrival order P1, P2 , P3

   Evaluation metrics
                                                                           Execution                        P1
                                                                                                             P1                         P2
                                                                                                                                        P2             P3
                                                                                                                                                       P3
    ÿ CPU/device utilization           Ready
                                       Ready              Running
                                                          Running              Time 0                                            12           15            18
                                                                                                      Average response time = ( 12 + 15 + 18 )/3 = 15
    ÿ System throughput
                               ready           Waiting
                                               Waiting
                               queue
                                                                             Job arrival order P2, P3, P1
    ÿ Waiting time
                                                                           Execution        P2
                                                                                             P2        P3
                                                                                                       P3                         P1
                                                                                                                                  P1
    ÿ Response time                                                            Time 0             3          6                                              18
                                         synchronization queues
                                                                                       Average response time = ( 3 + 6 + 18 ) /3 = 9
                                                                    3                                                                                            4
Scheduling Policies
FCFS Scheduling                             (Cont’d.)                                    Shortest-Job-First       (SJF)



    Advantage:                                                                                Select the shortest job first
     ÿ Simple                                                                                  ÿ Enqueue jobs in order of estimated completion time


    Disadvantages:
     ÿ Average waiting time is highly variable
                                                                                       Head      Pw, c = 9
         v   Short jobs may wait behind long ones !!
     ÿ May lead to poor overlap between I/O and CPU processing                                  Px, c = 12
                                                                                                                                    Ready
                                                                                                                                    Ready                Running
                                                                                                                                                         Running
         v   CPU bound processes will make I/O bounds processes to wait fi
             I/O devices remain idle
                                                                                                Py, c = 34
                                                                                       Tail     Pz, c = 62                                   Waiting
                                                                                                                                             Waiting
                                                                                                                            ready
                                                                                                                            queue



                                                                                                                                     semaphore/condition queues
                                                                                   5                                                                               6




Shortest-Job-First                   Scheduling
An optimal policy for minimizing response times                                           SJF Scheduling --- The Catch


  Intuition: Consider an SJF execution of a set of processes                                  It’s unfair !!
                                                                                               ÿ Continuous stream of short jobs will starve long jobs
Average response time = (r1 + r2 + r3 + r4 + r5 + r6)/6
  SJF: P11 P22           P3           P4              P5                P6                    Needs clairvoyance
        P P               P3           P4              P5                P6
        0    r1     r2          r3            r4               r5             r6               ÿ Need to know the execution time of a process
                                                                                               ÿ Simple solution: ask the user !
 Can switching the execution order reduce response time?                                       ÿ Yeah, right !!


  XYZ: P11 P22
        P P               P4
                           P4               P5
                                             P5           P3
                                                           P3           P6
                                                                         P6                   So, what if you don’t subscribe to the Psychic Network ??
        0 r1       r2            r4 – c3           r5 – c3 r3+c 4+c 5         r6
    Average response
         time    = (r1 + r2 + r4–c3 + r5–c3 + r4+c4+c5 + r6)/6
                 = (r1 + r2 + r3 + r4 + r5 + r6 + (c4+c5–2c3))/6
                                                                                   7                                                                               8
Short-Job-First            Scheduling                                             Scheduling Policies
Estimating execution time                                                         Priority Scheduling (PS)


  Jobs are enqueued in order of estimated completion time                           Assign a priority (a number) to each job and schedule jobs in
   ÿ “Recent history is a good indicator of the near future”                        order of priority
                                                                                     ÿ Typically low priority values = “high priority”
                                                                                       E.g., if priority = tn, then a priority scheduler becomes a SJF
                         process P
                          process P                                                    scheduler.
                         begin
                          begin
                           loop
                            loop
                             <read input from user>
                              <read input from user>
                             <process input>
                              <process input>
                           end loop
                            end loop
                         end P
                                                                                                          Px Pc Pb Pa           CPU
                                                                                                                                CPU
                          end P
                                                                                                        Low           High
            t n — duration of the nth CPU burst                                                        Priority      Priority
          tn+1 — predicted duration of the n+1 st CPU burst                                            (large        (small
                                                                                                      number)       number)
               tn+1 = atn + (1– a)tn, for 0 ≤ a ≤ 1

                                                                             9                                                                           10




Priority Scheduling
Avoiding starvation                                                               Non Pre-emptive vs. Pre-emptive Scheduling


  Aging                                                                               Non Pre-emptive Scheduling:
   ÿ Gradually increase a process’s priority (decrease its priority value)            ÿ Once a process begins execution, it occupies CPU until it
     over time                                                                          finishes or it blocks
                                                                                      ÿ Advantage: simplicity, but …
                                                                                      ÿ Creates problems … (like what?)
                    Priority
                                                                                      ÿ Examples: FCFS, SJF, PS, …


                                                                                      Pre-emptive Scheduling:
                                                 Time                                 ÿ A process is switched back and forth between running and
                                                                                        ready states
                                                                                      ÿ Advantage: more efficient, better capabilities, but …
                                                                                      ÿ More complex and needs hardware support (e.g., timer
                        Px Pc Pb Pa          CPU                                        interrupts)
                                             CPU
                                                                                      ÿ Examples: Round Robin, Shortest Remaining Time First (SRTF),
                                                                                        Multi-level Feedback Queue (MLF)
                                                                             11                                                                          12
Scheduling Policies
Round-Robin Scheduling (RR)                                                     RR Scheduling: Selecting a Time Quantum


   Allocate the processor in discrete unit called quanta (or time-                Too large
   slices)
                                                                                   ÿ Long waiting time
                                                                                   ÿ Degenerates to FCFS in the limit
   Switch to the next ready process at the end of each quantum
    ÿ Processes execute every (n – 1) q time units
                                                                                  Too small
                                                                                   ÿ Responsive, but …
                                                               Process             ÿ Throughput suffers due to large context switch overhead
                                                       <q    Completion
                 Px Pc Pb Pa           CPU
                                       CPU                       or
                                                             I/O Request
                                                                                  Goal:
                                            =q
                                                                                   ÿ Select a time quantum that balances this tradeoff
                     Timer Interrupt                                               ÿ Rule of thumb: maintain context switch overhead to less
                                                                                     than 1%

                                                                           13                                                                  14




Scheduling Policies
Multi-level feedback queues (MLF)

   n priority levels — priority scheduling between levels, round-
   robin within a level

   Quantum size decreases with priority level

   Jobs are demoted to lower priority levels if they don’t
   complete within the current quantum
          Level 1
                                   q = t0
 High
Priority                        Pa

           Level 2
                                          q = 2t0
                            P3 P2 P1
                                                       CPU
                                                       CPU
           ...



                            ...




           Level n
 Low
Priority                          Py Px q = 2 n-1 t
                                                   0
                                                                           15

Contenu connexe

En vedette

Introduction to Numerical Methods for Differential Equations
Introduction to Numerical Methods for Differential EquationsIntroduction to Numerical Methods for Differential Equations
Introduction to Numerical Methods for Differential Equations
matthew_henderson
 
Successive iteration method for reconstruction of missing data
Successive iteration method for reconstruction of missing dataSuccessive iteration method for reconstruction of missing data
Successive iteration method for reconstruction of missing data
IAEME Publication
 
Interactives Methods
Interactives MethodsInteractives Methods
Interactives Methods
UIS
 

En vedette (17)

Introduction to Numerical Methods for Differential Equations
Introduction to Numerical Methods for Differential EquationsIntroduction to Numerical Methods for Differential Equations
Introduction to Numerical Methods for Differential Equations
 
Perturbation methods last
Perturbation methods lastPerturbation methods last
Perturbation methods last
 
Successive iteration method for reconstruction of missing data
Successive iteration method for reconstruction of missing dataSuccessive iteration method for reconstruction of missing data
Successive iteration method for reconstruction of missing data
 
Euler Method using MATLAB
Euler Method using MATLABEuler Method using MATLAB
Euler Method using MATLAB
 
Automobile 3rd sem aem ppt.2016
Automobile 3rd sem aem ppt.2016Automobile 3rd sem aem ppt.2016
Automobile 3rd sem aem ppt.2016
 
Differential equations intro
Differential equations introDifferential equations intro
Differential equations intro
 
metode euler
metode eulermetode euler
metode euler
 
Interactives Methods
Interactives MethodsInteractives Methods
Interactives Methods
 
Ch02 7
Ch02 7Ch02 7
Ch02 7
 
Numerical Methods
Numerical MethodsNumerical Methods
Numerical Methods
 
Calc 6.1b
Calc 6.1bCalc 6.1b
Calc 6.1b
 
AP Calculus AB March 26, 2009
AP Calculus AB March 26, 2009AP Calculus AB March 26, 2009
AP Calculus AB March 26, 2009
 
Ordinary differential equation
Ordinary differential equationOrdinary differential equation
Ordinary differential equation
 
Es272 ch7
Es272 ch7Es272 ch7
Es272 ch7
 
Higher Differential Equation
Higher Differential EquationHigher Differential Equation
Higher Differential Equation
 
Differential equations
Differential equationsDifferential equations
Differential equations
 
The Top Skills That Can Get You Hired in 2017
The Top Skills That Can Get You Hired in 2017The Top Skills That Can Get You Hired in 2017
The Top Skills That Can Get You Hired in 2017
 

10 09

  • 1. Processes and State Transitions Ready Ready Running Running Head Tail ready queue Waiting Waiting Head Tail Process Scheduling resource/synchronization queues Three states: Ready, Running, and Waiting When aaprocess makes aatransition: When process makes transition: Why aaprocess makes aatransition: Why process makes transition: 1. from running to waiting 1. from running to waiting 1. an action of the process 1. an action of the process 2. from running to ready 2. from running to ready non-preemptive scheduling non-preemptive scheduling 3. from waiting to ready 3. from waiting to ready 2. occurrence of an external event 2. occurrence of an external event (3aa.aaprocess is created )) preemptive scheduling (3 . process is created preemptive scheduling 4. from running to terminated 4. from running to terminated 1 2 Scheduling Policies Process Scheduling First-Come-First-Served (FCFS) Process scheduling The discipline corresponding to FIFO queuing ÿ Select a process from ready Example — 3 processes w/ compute times 12, 3, and 3 queue for execution ÿ Job arrival order P1, P2 , P3 Evaluation metrics Execution P1 P1 P2 P2 P3 P3 ÿ CPU/device utilization Ready Ready Running Running Time 0 12 15 18 Average response time = ( 12 + 15 + 18 )/3 = 15 ÿ System throughput ready Waiting Waiting queue Job arrival order P2, P3, P1 ÿ Waiting time Execution P2 P2 P3 P3 P1 P1 ÿ Response time Time 0 3 6 18 synchronization queues Average response time = ( 3 + 6 + 18 ) /3 = 9 3 4
  • 2. Scheduling Policies FCFS Scheduling (Cont’d.) Shortest-Job-First (SJF) Advantage: Select the shortest job first ÿ Simple ÿ Enqueue jobs in order of estimated completion time Disadvantages: ÿ Average waiting time is highly variable Head Pw, c = 9 v Short jobs may wait behind long ones !! ÿ May lead to poor overlap between I/O and CPU processing Px, c = 12 Ready Ready Running Running v CPU bound processes will make I/O bounds processes to wait fi I/O devices remain idle Py, c = 34 Tail Pz, c = 62 Waiting Waiting ready queue semaphore/condition queues 5 6 Shortest-Job-First Scheduling An optimal policy for minimizing response times SJF Scheduling --- The Catch Intuition: Consider an SJF execution of a set of processes It’s unfair !! ÿ Continuous stream of short jobs will starve long jobs Average response time = (r1 + r2 + r3 + r4 + r5 + r6)/6 SJF: P11 P22 P3 P4 P5 P6 Needs clairvoyance P P P3 P4 P5 P6 0 r1 r2 r3 r4 r5 r6 ÿ Need to know the execution time of a process ÿ Simple solution: ask the user ! Can switching the execution order reduce response time? ÿ Yeah, right !! XYZ: P11 P22 P P P4 P4 P5 P5 P3 P3 P6 P6 So, what if you don’t subscribe to the Psychic Network ?? 0 r1 r2 r4 – c3 r5 – c3 r3+c 4+c 5 r6 Average response time = (r1 + r2 + r4–c3 + r5–c3 + r4+c4+c5 + r6)/6 = (r1 + r2 + r3 + r4 + r5 + r6 + (c4+c5–2c3))/6 7 8
  • 3. Short-Job-First Scheduling Scheduling Policies Estimating execution time Priority Scheduling (PS) Jobs are enqueued in order of estimated completion time Assign a priority (a number) to each job and schedule jobs in ÿ “Recent history is a good indicator of the near future” order of priority ÿ Typically low priority values = “high priority” E.g., if priority = tn, then a priority scheduler becomes a SJF process P process P scheduler. begin begin loop loop <read input from user> <read input from user> <process input> <process input> end loop end loop end P Px Pc Pb Pa CPU CPU end P Low High t n — duration of the nth CPU burst Priority Priority tn+1 — predicted duration of the n+1 st CPU burst (large (small number) number) tn+1 = atn + (1– a)tn, for 0 ≤ a ≤ 1 9 10 Priority Scheduling Avoiding starvation Non Pre-emptive vs. Pre-emptive Scheduling Aging Non Pre-emptive Scheduling: ÿ Gradually increase a process’s priority (decrease its priority value) ÿ Once a process begins execution, it occupies CPU until it over time finishes or it blocks ÿ Advantage: simplicity, but … ÿ Creates problems … (like what?) Priority ÿ Examples: FCFS, SJF, PS, … Pre-emptive Scheduling: Time ÿ A process is switched back and forth between running and ready states ÿ Advantage: more efficient, better capabilities, but … ÿ More complex and needs hardware support (e.g., timer Px Pc Pb Pa CPU interrupts) CPU ÿ Examples: Round Robin, Shortest Remaining Time First (SRTF), Multi-level Feedback Queue (MLF) 11 12
  • 4. Scheduling Policies Round-Robin Scheduling (RR) RR Scheduling: Selecting a Time Quantum Allocate the processor in discrete unit called quanta (or time- Too large slices) ÿ Long waiting time ÿ Degenerates to FCFS in the limit Switch to the next ready process at the end of each quantum ÿ Processes execute every (n – 1) q time units Too small ÿ Responsive, but … Process ÿ Throughput suffers due to large context switch overhead <q Completion Px Pc Pb Pa CPU CPU or I/O Request Goal: =q ÿ Select a time quantum that balances this tradeoff Timer Interrupt ÿ Rule of thumb: maintain context switch overhead to less than 1% 13 14 Scheduling Policies Multi-level feedback queues (MLF) n priority levels — priority scheduling between levels, round- robin within a level Quantum size decreases with priority level Jobs are demoted to lower priority levels if they don’t complete within the current quantum Level 1 q = t0 High Priority Pa Level 2 q = 2t0 P3 P2 P1 CPU CPU ... ... Level n Low Priority Py Px q = 2 n-1 t 0 15