Le téléchargement de votre SlideShare est en cours. ×
0
CPU SCHEDULING SONALI CHAUHAN SYBSc IT  2008-09 UDIT
BASIC CONCEPTS <ul><li>Main objective of multiprogramming is to keep on running processes all the time for maximum CPU uti...
CPU-I/O BURST CYCLE <ul><li>CPU–I/O Burst Cycle – Process execution  </li></ul><ul><li>consists of a cycle of CPU executio...
CONT…
CPU SCHEDULER <ul><li>Selects from among the processes in memory that  </li></ul><ul><li>are ready to execute, and allocat...
<ul><li>Selects one process from ready queue to run on CPU </li></ul><ul><li>Scheduling can be  </li></ul><ul><ul><li>Nonp...
<ul><li>Nonpreemptive   </li></ul><ul><ul><li>Once a process is allocated the CPU, it does not leave unless:  </li></ul></...
DISPATCHER <ul><li>Scheduler : selects one process to run on  CPU   </li></ul><ul><li>Dispatcher : allocates  CPU  to the ...
<ul><li>How does scheduler select a process to run?   </li></ul>
SCHEDULING CRITERIA <ul><li>CPU utilization  – keep the  CPU  as busy as possible  </li></ul><ul><ul><li>Maximize   </li><...
<ul><li>Waiting   time  – amount of time a process has been waiting in the  ready queue  (sum of time waiting in ready que...
SCHEDULING ALGORITHM <ul><li>First Come, First Served  </li></ul><ul><li>Shortest Job First  </li></ul><ul><li>Priority  <...
FIRST COME FIRST SERVED  SCHEDULING
<ul><li>Process   Burst Time </li></ul><ul><li>P1 24 </li></ul><ul><li>  P2   3 </li></ul><ul><li>  P3   3   </li></ul><ul...
<ul><li>Suppose that the processes arrive in the order :  P 2  ,  P 3  ,  P 1  ( P1: 24, P2: 3, P3: 3) </li></ul><ul><li>T...
CONT… SHORTEST-JOB-FIRST SCHEDULING
<ul><li>Associate with each process the length of its next CPU burst.  </li></ul><ul><li>Use these lengths to schedule the...
CONT… SHORTEST-JOB-FIRST… <ul><li>Process Arrival Time Burst Time </li></ul><ul><li>P 1 0.0 7 </li></ul><ul><li>  P 2 2.0 ...
<ul><li>Process Arrival Time Burst Time </li></ul><ul><li>  P1    0.0 7 </li></ul><ul><li>  P2   2.0 4 </li></ul><ul><li> ...
PRIORITY SCHEDULING
<ul><li>A priority number (integer) is associated with each process </li></ul><ul><li>Lager the CPU burst lower the priori...
ROUND-ROBIN SCHEDULING
<ul><li>Each process gets a small unit of CPU time ( time quantum ), usually 10-100 milliseconds.  After this time has ela...
<ul><li>Process   Burst Time </li></ul><ul><li>P1 24 </li></ul><ul><li>P2 3 </li></ul><ul><li>P3 3 </li></ul><ul><li>Quant...
Prochain SlideShare
Chargement dans... 5
×

Cpu Scheduling Galvin

7,238

Published on

Published in: Éducation, Technologies, Affaires
5 commentaires
3 mentions J'aime
Statistiques
Remarques
Aucun téléchargement
Vues
Total des vues
7,238
Sur Slideshare
0
À partir des ajouts
0
Nombre d'ajouts
1
Actions
Partages
0
Téléchargements
458
Commentaires
5
J'aime
3
Ajouts 0
No embeds

No notes for slide
  • Transcript of "Cpu Scheduling Galvin"

    1. 1. CPU SCHEDULING SONALI CHAUHAN SYBSc IT 2008-09 UDIT
    2. 2. BASIC CONCEPTS <ul><li>Main objective of multiprogramming is to keep on running processes all the time for maximum CPU utilization. </li></ul><ul><li>In uniprocess system only one process run at a time, others process have to wait for cpu time. </li></ul><ul><li>Scheduling is fundamental function of OS. </li></ul>
    3. 3. CPU-I/O BURST CYCLE <ul><li>CPU–I/O Burst Cycle – Process execution </li></ul><ul><li>consists of a cycle of CPU execution and I/O </li></ul><ul><li>wait. </li></ul>
    4. 4. CONT…
    5. 5. CPU SCHEDULER <ul><li>Selects from among the processes in memory that </li></ul><ul><li>are ready to execute, and allocates the CPU to one of them </li></ul><ul><li>CPU scheduling decisions may take place when a </li></ul><ul><li>process: </li></ul><ul><ul><li>1. Switches from running to waiting state </li></ul></ul><ul><ul><li>2. Switches from running to ready state </li></ul></ul><ul><ul><li>3. Switches from waiting to ready </li></ul></ul><ul><ul><li>4. Terminates </li></ul></ul><ul><li>Scheduling under 1 and 4 is nonpreemptive </li></ul><ul><li>All other scheduling is preemptive </li></ul>
    6. 6. <ul><li>Selects one process from ready queue to run on CPU </li></ul><ul><li>Scheduling can be </li></ul><ul><ul><li>Nonpreemptive </li></ul></ul><ul><ul><li>Preemptive </li></ul></ul>CONT…
    7. 7. <ul><li>Nonpreemptive </li></ul><ul><ul><li>Once a process is allocated the CPU, it does not leave unless: </li></ul></ul><ul><ul><ul><li>it has to wait, e.g., for I/O request  or for a child to terminate </li></ul></ul></ul><ul><ul><ul><li>it terminates   </li></ul></ul></ul><ul><li>Preemptive </li></ul><ul><ul><ul><li>OS can force (preempt) a process from CPU at anytime </li></ul></ul></ul><ul><ul><ul><li>Say, to allocate CPU to another higher-priority process  </li></ul></ul></ul>CONT…
    8. 8. DISPATCHER <ul><li>Scheduler : selects one process to run on CPU </li></ul><ul><li>Dispatcher : allocates CPU to the selected process, which involves: </li></ul><ul><ul><li>switching context </li></ul></ul><ul><ul><li>switching to user mode </li></ul></ul><ul><ul><li>jumping to the proper location (in the selected process) and restarting it </li></ul></ul><ul><li>Dispatcher should be fast enough. </li></ul><ul><li>Dispatch latency – time it takes for the dispatcher to stop one process and start another running. </li></ul>
    9. 9. <ul><li>How does scheduler select a process to run? </li></ul>
    10. 10. SCHEDULING CRITERIA <ul><li>CPU utilization – keep the CPU as busy as possible </li></ul><ul><ul><li>Maximize </li></ul></ul><ul><li>Throughput – No of processes that complete their execution per time unit </li></ul><ul><ul><li>Maximize </li></ul></ul><ul><li>Turnaround time – amount of time to execute a particular process (time from submission to termination) i.e (waiting in memory + waiting time in ready queue + executing time in CPU + doing IO) </li></ul><ul><ul><li>Minimize </li></ul></ul>
    11. 11. <ul><li>Waiting time – amount of time a process has been waiting in the ready queue (sum of time waiting in ready queue) </li></ul><ul><ul><li>Minimize </li></ul></ul><ul><li>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) </li></ul><ul><ul><li>Minimize </li></ul></ul>CONT…
    12. 12. SCHEDULING ALGORITHM <ul><li>First Come, First Served </li></ul><ul><li>Shortest Job First </li></ul><ul><li>Priority </li></ul><ul><li>Round Robin </li></ul>
    13. 13. FIRST COME FIRST SERVED SCHEDULING
    14. 14. <ul><li>Process Burst Time </li></ul><ul><li>P1 24 </li></ul><ul><li> P2 3 </li></ul><ul><li> P3 3 </li></ul><ul><li>Suppose that the processes arrive in the order: </li></ul><ul><ul><li>P1 , P2 , P3 </li></ul></ul><ul><li>The Gantt Chart for the schedule is: </li></ul><ul><li>Waiting time for P1 = 0; P2 = 24; P3 = 27 </li></ul><ul><li>Average waiting time: (0 + 24 + 27)/3 = 17 </li></ul>CONT… First come, First served… P 1 P 2 P 3 24 27 30 0
    15. 15. <ul><li>Suppose that the processes arrive in the order : P 2 , P 3 , P 1 ( P1: 24, P2: 3, P3: 3) </li></ul><ul><li>The Gantt chart for the schedule is: </li></ul><ul><li>Waiting time for P 1 = 6 ; P 2 = 0 ; P 3 = 3 </li></ul><ul><li>Average waiting time: (6 + 0 + 3)/3 = 3 </li></ul><ul><li>Much better than previous case </li></ul><ul><li>Convoy effect short process behind long process </li></ul>CONT… First come, First served… P 1 P 3 P 2 6 3 30 0
    16. 16. CONT… SHORTEST-JOB-FIRST SCHEDULING
    17. 17. <ul><li>Associate with each process the length of its next CPU burst. </li></ul><ul><li>Use these lengths to schedule the process with the shortest time </li></ul><ul><li>Two schemes: </li></ul><ul><ul><li>nonpreemptive – once CPU given to the process it cannot be preempted until completes its CPU burst </li></ul></ul><ul><ul><li>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) </li></ul></ul><ul><li>SJF is optimal – gives minimum average waiting time for a given set of processes </li></ul>CONT… SHORTEST-JOB-FIRST
    18. 18. CONT… SHORTEST-JOB-FIRST… <ul><li>Process Arrival Time Burst Time </li></ul><ul><li>P 1 0.0 7 </li></ul><ul><li> P 2 2.0 4 </li></ul><ul><li> P 3 4.0 1 </li></ul><ul><li> P 4 5.0 4 </li></ul><ul><li>SJF (non-preemptive) </li></ul><ul><li>Average waiting time = (0 + 6 + 3 + 7)/4 - 4 </li></ul>Example of Non-Preemptive SJF P 1 P 3 P 2 7 3 16 0 P 4 8 12
    19. 19. <ul><li>Process Arrival Time Burst Time </li></ul><ul><li> P1 0.0 7 </li></ul><ul><li> P2 2.0 4 </li></ul><ul><li> P3 4.0 1 </li></ul><ul><li> P4 5.0 4 </li></ul><ul><li>SJF (preemptive) </li></ul><ul><li>Average waiting time = (9 + 1 + 0 +2)/4 - 3 </li></ul>CONT… SHORTEST-JOB-FIRST… Example of Preemptive SJF P 1 P 3 P 2 4 2 11 0 P 4 5 7 P 2 P 1 16
    20. 20. PRIORITY SCHEDULING
    21. 21. <ul><li>A priority number (integer) is associated with each process </li></ul><ul><li>Lager the CPU burst lower the priority </li></ul><ul><li>The CPU is allocated to the process with the highest priority (smallest integer  highest priority) </li></ul><ul><ul><li>Preemptive </li></ul></ul><ul><ul><li>nonpreemptive </li></ul></ul><ul><li>Problem  Starvation (Infinity blocking) – low priority processes may never execute </li></ul><ul><li>Solution  Aging – as time progresses increase the priority of the process </li></ul>CONT… PRIORITY…
    22. 22. ROUND-ROBIN SCHEDULING
    23. 23. <ul><li>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. </li></ul><ul><li>If there are n processes in the ready queue and the time quantum is q , then each process gets 1/ n of the CPU time in chunks of at most q time units at once. No process waits more than ( n -1) q time units. </li></ul><ul><li>Performance </li></ul><ul><ul><li>q large  FIFO </li></ul></ul><ul><ul><li>q small  q must be large with respect to context switch, otherwise overhead is too high </li></ul></ul>CONT… ROUND-ROBIN…
    24. 24. <ul><li>Process Burst Time </li></ul><ul><li>P1 24 </li></ul><ul><li>P2 3 </li></ul><ul><li>P3 3 </li></ul><ul><li>Quantum time 4millisec </li></ul><ul><li>The Gantt chart is: </li></ul><ul><li>Typically, higher average turnaround than SJF, but better response </li></ul>CONT… ROUND-ROBIN… P 1 P 2 P 3 P 1 P 1 P 1 P 1 P 1 0 4 7 10 14 18 22 26 30
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×