2.1 Basics Concepts, Scheduling Criteria

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 12

2.

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

You might also like