0% found this document useful (0 votes)
60 views12 pages

2.1 Basics Concepts, Scheduling Criteria

Uploaded by

avishana
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
60 views12 pages

2.1 Basics Concepts, Scheduling Criteria

Uploaded by

avishana
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 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