Download Presentation
Scheduling Algorithms

Loading in 2 Seconds...

1 / 33

Scheduling Algorithms - PowerPoint PPT Presentation

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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Scheduling Algorithms' - adamdaniel

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
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
• Small: throughput decreases
• quantum →0 = overhead dominates
• context switches, cache misses

waiting

running

Example: Round-Robin
• Fair
• Long average wait times
Round-Robin vs. FCFS
• Example 1:
• 5 jobs, 100 seconds each, quantum = 1s
• ignore context switch time
Round-Robin vs. FCFS
• Example 1:
• 5 jobs, 100 seconds each, quantum = 1s
• ignore context switch time
Round-Robin vs. FCFS
• Example 2:
• 5 jobs: 50, 40, 30, 20, 10 seconds each, quantum = 1s
Round-Robin vs. FCFS
• Example 2:
• 5 jobs: 50, 40, 30, 20, 10 seconds each, quantum = 1s
This Time: Scheduling Algorithms
• FCFS
• First-Come, First-Served
• Round-robin
• SJF
• Multilevel Feedback Queues

0

10

30

60

100

150

Example: SJF
• Schedule job with least work until I/O or done

10

20

30

40

50

0

10

30

60

100

150

Example: SJF
• Schedule job with least work until I/O or done

10

20

30

40

50

0

10

30

60

100

150

Example: SJF
• Schedule job with least work until I/O or done

10

20

30

40

50

0

10

30

60

100

150

Example: SJF
• Schedule job with least work until I/O or done

10

20

30

40

50

0

10

30

60

100

150

Example: SJF
• Schedule job with least work until I/O or done

10

20

30

40

50

0

10

30

60

100

150

Example: SJF
• Schedule job with least work until I/O or done

10

20

30

40

50

Example: SJF
• 5 jobs, length 50, 40, 30, 20, 10 seconds, quantum = 1s
Example: SJF
• 5 jobs, length 50, 40, 30, 20, 10 seconds
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
This Time: Scheduling Algorithms
• FCFS
• First-Come, First-Served
• Round-robin
• SJF
• Multilevel Feedback Queues
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
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
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
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