2.1 Basics Concepts, Scheduling Criteria
2.1 Basics Concepts, Scheduling Criteria
2.1 Basics Concepts, Scheduling Criteria
1: CPU Scheduling
Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©2009
Chapter 5: CPU Scheduling
Basic Concepts
Scheduling Criteria
Scheduling Algorithms
Thread Scheduling
Multiple-Processor Scheduling
Operating Systems Examples
Algorithm Evaluation
Objectives
To introduce CPU scheduling, which is the
basis for multiprogrammed operating
systems
To describe various CPU-scheduling
algorithms
To discuss evaluation criteria for selecting a
CPU-scheduling algorithm for a particular
system
Chapter 5: CPU Scheduling
Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©2009
Chapter 5: CPU Scheduling
Basic Concepts
Scheduling Criteria
Scheduling Algorithms
Thread Scheduling
Multiple-Processor Scheduling
Operating Systems Examples
Algorithm Evaluation
Basic Concepts
Maximum CPU utilization obtained
with multiprogramming
CPU–I/O Burst Cycle – Process
execution consists of a cycle of CPU
execution and I/O wait
CPU burst distribution
Histogram of CPU-burst Times
Alternating Sequence of CPU and
I/O Bursts
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 non-preemptive
All other scheduling is preemptive – implications for
data sharing between threads/processes
Dispatcher
Dispatcher module gives control of the CPU to the
process selected by the scheduler; this involves:
switching context
switching to user mode
jumping to the proper location in the user
program to restart that program
Dispatch latency – time it takes for the
dispatcher to stop one process and start another
running
Scheduling Criteria
CPU utilization – keep the CPU as busy as
possible
Throughput – # of processes that complete their
execution per time unit
Turnaround time – amount of time to execute a
particular process
Waiting time – amount of time a process has
been waiting in the ready queue
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)
Scheduling Algorithm Optimization Criteria
Max CPU utilization
Max throughput
Min turnaround time
Min waiting time
Min response time