Your SlideShare is downloading. ×
Cpu Scheduling Galvin
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Cpu Scheduling Galvin

6,778
views

Published on

Published in: Education, Technology, Business

5 Comments
2 Likes
Statistics
Notes
No Downloads
Views
Total Views
6,778
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
412
Comments
5
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • 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