1 / 33

Scheduling Algorithms

Scheduling Algorithms. FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues. Round-Robin Scheduling. Quantum expires: move to back of ready queue Variants used in most real systems Tradeoffs: length of quantum Large: response time increases

adamdaniel
Download Presentation

Scheduling Algorithms

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Scheduling Algorithms • FCFS • First-Come, First-Served • Round-robin • SJF • Multilevel Feedback Queues

  2. Round-Robin Scheduling • Quantum expires: move to back of ready queue • Variants used in most real systems • Tradeoffs: length of quantum • Large: response time increases • Small: throughput decreases • quantum →0 = overhead dominates • context switches, cache misses

  3. waiting running Example: Round-Robin

  4. waiting running Example: Round-Robin

  5. waiting running Example: Round-Robin

  6. waiting running Example: Round-Robin

  7. waiting running Example: Round-Robin

  8. waiting running Example: Round-Robin

  9. waiting running Example: Round-Robin

  10. waiting running Example: Round-Robin

  11. waiting running Example: Round-Robin

  12. waiting running Example: Round-Robin

  13. waiting running Example: Round-Robin • Fair • Long average wait times

  14. Round-Robin vs. FCFS • Example 1: • 5 jobs, 100 seconds each, quantum = 1s • ignore context switch time

  15. Round-Robin vs. FCFS • Example 1: • 5 jobs, 100 seconds each, quantum = 1s • ignore context switch time

  16. Round-Robin vs. FCFS • Example 2: • 5 jobs: 50, 40, 30, 20, 10 seconds each, quantum = 1s

  17. Round-Robin vs. FCFS • Example 2: • 5 jobs: 50, 40, 30, 20, 10 seconds each, quantum = 1s

  18. This Time: Scheduling Algorithms • FCFS • First-Come, First-Served • Round-robin • SJF • Multilevel Feedback Queues

  19. 0 10 30 60 100 150 Example: SJF • Schedule job with least work until I/O or done 10 20 30 40 50

  20. 0 10 30 60 100 150 Example: SJF • Schedule job with least work until I/O or done 10 20 30 40 50

  21. 0 10 30 60 100 150 Example: SJF • Schedule job with least work until I/O or done 10 20 30 40 50

  22. 0 10 30 60 100 150 Example: SJF • Schedule job with least work until I/O or done 10 20 30 40 50

  23. 0 10 30 60 100 150 Example: SJF • Schedule job with least work until I/O or done 10 20 30 40 50

  24. 0 10 30 60 100 150 Example: SJF • Schedule job with least work until I/O or done 10 20 30 40 50

  25. Example: SJF • 5 jobs, length 50, 40, 30, 20, 10 seconds, quantum = 1s

  26. Example: SJF • 5 jobs, length 50, 40, 30, 20, 10 seconds

  27. SJF/SRTF: Shortest-Job First • Advantages: • Provably optimal – minimizes average waiting time • Works for preemptive & non-preemptive schedulers • Preemptive SJF = SRTF • Shortest remaining time first • Disadvantages: • Impossible to predict CPU time job has left • Long-running CPU-bound jobs can starve

  28. This Time: Scheduling Algorithms • FCFS • First-Come, First-Served • Round-robin • SJF • Multilevel Feedback Queues

  29. Multilevel Feedback Queues (MLFQ) • Use past behavior to predict future, assign job priorities • Overcome prediction problem in SJF • Assumption: • I/O-bound in past, I/O-bound in future • Scheduler favors jobs that used least CPU time • Adaptive: • Change in behavior → change in scheduling decisions

  30. MLFQ: Approximating SJF • Multiple queues, different priorities • Round-robin scheduling at each priority level • Run all jobs at highest priority first (till this queue is empty), then next, etc. • Can lead to starvation • Increase quantum exponentially at lower priorities

  31. MLFQ Example

  32. MLFQ: Assigning Priorities • Job starts in highest priority queue • Quantum expires → CPU-bound • Drop priority one level • Quantum does not expire → I/O-bound • Increase priority one level • CPU-bound jobs move down,I/O-bound jobs move up

  33. Summary of Scheduling Algorithms • FCFS: • unfair, average waiting time poor • Round robin: • fair, average waiting time poor • SJF: • unfair, minimizes average waiting time • requires accurate prediction • Multilevel Feedback Queuing: • approximates SJF

More Related