Cpu Scheduling Galvin
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Cpu Scheduling Galvin

le

  • 8,816 vues

 

Statistiques

Vues

Total des vues
8,816
Vues sur SlideShare
8,799
Vues externes
17

Actions

J'aime
1
Téléchargements
345
Commentaires
5

2 Ajouts 17

http://www.slideshare.net 16
http://qa.pragyasystems.com 1

Accessibilité

Détails de l'import

Uploaded via as Microsoft PowerPoint

Droits d'utilisation

© Tous droits réservés

Report content

Signalé comme inapproprié Signaler comme inapproprié
Signaler comme inapproprié

Indiquez la raison pour laquelle vous avez signalé cette présentation comme n'étant pas appropriée.

Annuler
  • Full Name Full Name Comment goes here.
    Êtes-vous sûr de vouloir
    Votre message apparaîtra ici
    Processing...
  • thank u
    Êtes-vous sûr de vouloir
    Votre message apparaîtra ici
    Processing...
  • nice.
    Êtes-vous sûr de vouloir
    Votre message apparaîtra ici
    Processing...
  • very nice slide
    Êtes-vous sûr de vouloir
    Votre message apparaîtra ici
    Processing...
  • Good One
    Êtes-vous sûr de vouloir
    Votre message apparaîtra ici
    Processing...
  • good
    Êtes-vous sûr de vouloir
    Votre message apparaîtra ici
    Processing...
Poster un commentaire
Modifier votre commentaire

Cpu Scheduling Galvin Presentation Transcript

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