CS 423: Operating Systems Design
Professor Adam Bates Spring 2017
CS 423 Operating System Design: Scheduling Professor Adam Bates - - PowerPoint PPT Presentation
CS 423 Operating System Design: Scheduling Professor Adam Bates Spring 2017 CS 423: Operating Systems Design Goals for Today Learning Objective: Introduce goals, definitions, and policies related to uniprocessor and multiprocessor
CS 423: Operating Systems Design
Professor Adam Bates Spring 2017
CS 423: Operating Systems Design 2
Reminder: Please put away devices at the start of class
CS 423: Operating Systems Design
3
■ Generate illusion of concurrency ■ Maximize resource utilization (e.g., mix CPU and
■ Meet needs of both I/O-bound and CPU-bound
■ Give I/O-bound processes better interactive response ■ Do not starve CPU-bound processes
■ Support Real-Time (RT) applications
CS 423: Operating Systems Design
4
with the kernel…
CS 423: Operating Systems Design
5
CS 423: Operating Systems Design
6
CS 423: Operating Systems Design 7
■ Non-preemptive scheduling:
■ The running process keeps the CPU until it voluntarily
gives up the CPU
■ process exits ■ switches to blocked state ■ 1 and 4 only (no 3)
■ Preemptive scheduling:
■ The running process can be interrupted and must release
the CPU (can be forced to give up CPU)
Running Terminated Ready Blocked 1 4 3
CS 423: Operating Systems Design
8
CS 423: Operating Systems Design 9
CS 423: Operating Systems Design 10
CS 423: Operating Systems Design 11
CS 423: Operating Systems Design
12 (1) Tasks (3) (2) (5) (4)
FIFO
(1) Tasks (3) (2) (5) (4)
SJF Time
CS 423: Operating Systems Design 13
CS 423: Operating Systems Design
14 (1) Tasks (3) (2) (5) (4)
Round Robin (100 ms time slice) Time
Rest of Task 1
CS 423: Operating Systems Design
15 (1) Tasks (3) (2) (5) (4)
Round Robin (100 ms time slice) Time
Rest of Task 1 (1) Tasks (3) (2) (5) (4)
FIFO
CS 423: Operating Systems Design
16 (1) Tasks (3) (2) (5) (4)
Round Robin (1 ms time slice)
Rest of Task 1
CS 423: Operating Systems Design
17 (1) Tasks (3) (2) (5) (4)
Round Robin (1 ms time slice)
Rest of Task 1 (1) Tasks (3) (2) (5) (4)
SJF Time
CS 423: Operating Systems Design
18
■
■
■
■
CS 423: Operating Systems Design
19
■
■
■
■
■
CS 423: Operating Systems Design
20 (1) Tasks (3) (2) (5) (4)
FIFO
(1) Tasks (3) (2) (5) (4)
SJF Time
wait time for 2, 3, 4, 5 is BIG! wait time for 2, 3, 4, 5 is SMALL!
CS 423: Operating Systems Design
21
■
■
■
■
■
CS 423: Operating Systems Design
22 (1) Tasks (3) (2) (5) (4)
FIFO and SJF
(1) Tasks (3) (2) (5) (4)
Round Robin (1 ms time slice) Time
CS 423: Operating Systems Design
23
between start and stop
CS 423: Operating Systems Design
24
CS 423: Operating Systems Design
25
CS 423: Operating Systems Design
26
I/O Bound Tasks CPU Bound CPU Bound
Time
Issues I/O Request I/O Completes Issues I/O Request I/O Completes
CS 423: Operating Systems Design
27
these first
CS 423: Operating Systems Design 28
CS 423: Operating Systems Design 29
CS 423: Operating Systems Design 30
Priority 1 Time Slice (ms)
Time Slice Expiration New or I/O Bound Task
2 4 3 80 40 20 10 Round Robin Queues
CS 423: Operating Systems Design
31
CS 423: Operating Systems Design
32
CS 423: Operating Systems Design
33