0% found this document useful (0 votes)
19 views27 pages

Lecture 7

Uploaded by

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

Lecture 7

Uploaded by

Khaled Nady
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 27

Lecture 7

Chapter 5: CPU Scheduling

Modified from Silberschatz, Galvin and Gagne ©2009


Chapter 5: CPU Scheduling
 Basic Concepts

 Scheduling Criteria

 Scheduling Algorithms

 First-come, First-Served

 Shortest-Job-First

 Priority scheduling

 Round Robin

CS 446 Principles of Computer Operating Systems 2


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
 Alternating Sequence of CPU And I/O Bursts

CS 446 Principles of Computer Operating Systems 3


Histogram of CPU-burst Times

A large number of short CPU bursts and


a small number of long CPU bursts.

CS 446 Principles of Computer Operating Systems 4


Three-level Scheduling

SHORT-TERM

LONG-TERM MID-TERM

CS 446 Principles of Computer Operating Systems 5


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 nonpreemptive‫اختيارى‬


 Processes keep CPU until it releases either by terminating or I/O wait.

 All other scheduling is preemptive‫ اجبارى‬-‫ق سرى‬


 Interrupts

CS 446 Principles of Computer Operating Systems 6


Two kinds of CPU-scheduling algorithms

 Nonpreemptive )cooperative( scheduling


 let a process run until it blocks on I/O, terminates or voluntarily releases the CPU
(system call)

Ready Running

Blocked

 preemptive scheduling
 follow clock interrupts (ex: 50Hz) to forcibly switch processes (change the “Running”
to “Ready”)

Ready Running

Blocked

CS 446 Principles of Computer Operating Systems 7


Dispatcher ‫ا لمرسل‬

 Dispatcher module gives control of the CPU to the


process selected by the short-term 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

CS 446 Principles of Computer Operating Systems 8


Scheduling Criteria
 CPU utilization – keep the CPU as busy as possible
 Typically between 40% to 90%
 Throughput – number of processes that complete their
execution per time unit
 Depends on the length of process
 Turnaround time – amount of time to execute a particular
process ( start to end)
 Sum of wait for memory, ready queue, execution, and I/O.
 Waiting time – amount of time a process has been waiting in
the ready queue
 Sum of wait in 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
CS 446 Principles of Computer Operating Systems 9
Scheduling Algorithm Optimization Criteria
• Max CPU utilization (busy)
Maximixe • Max throughput (# completed
processes per time unit)

• Min turnaround time


Minimize • Min waiting time
• Min response time

 In most cases, systems optimize average


measure
 It is important to minimize variance
 Users prefer predictable response time to
faster system with high variances.

CS 446 Principles of Computer Operating Systems 10


Scheduling Algorithms

First-Come, First-Served (FCFS) Scheduling

Shortest-Job-First (SJF) Scheduling

Priority Scheduling

Round Robin (RR)

CS 446 Principles of Computer Operating Systems 11


Scheduling Algorithms

First-Come, First-Served (FCFS) Scheduling

Shortest-Job-First (SJF) Scheduling

Priority Scheduling

Round Robin (RR)

CS 446 Principles of Computer Operating Systems 12


First-Come, First-Served (FCFS) Scheduling

Process Burst Time


P1 24
P2 3
P3 3

 Suppose that the processes arrive in the order: P1 , P2 , P3


The Gantt Chart for the schedule is:

P1 P2 P3

0 24 27 30

 Waiting time for P1 = 0; P2 = 24; P3 = 27


 Average waiting time: (0 + 24 + 27)/3 = 17

CS 446 Principles of Computer Operating Systems 13


FCFS Scheduling (Cont)
Suppose that the processes arrive in the order
P2 , P3 , P1
 The Gantt chart for the schedule is:

P2 P3 P1

0 3 6 30

 Waiting time for P1 = 6; P2 = 0; P3 = 3


 Average waiting time: (6 + 0 + 3)/3 = 3
 Much better than previous case

 Nonpreemtive
 If short process are after long process

CS 446 Principles of Computer Operating Systems 14


First-Come, First-Served (FCFS) Scheduling
 Nonpreemtive

A
Arrival times B
C
D
E

A B C D E Mean

CS 446 Principles of Computer Operating Systems 15


Scheduling Algorithms

First-Come, First-Served (FCFS) Scheduling

Shortest-Job-First (SJF) Scheduling

Priority Scheduling

Round Robin (RR)

CS 446 Principles of Computer Operating Systems 16


Shortest-Job-First (SJF) Scheduling

 Associate with each process the length of its next


CPU burst.
 Use these lengths to schedule the process with
the shortest time
shortest-next-CPU-burst

 SJF is optimal
 Gives minimum average waiting time for a given
set of processes
 The difficulty is knowing the length of the next
CPU request

 SFJ scheduling is preferred for long-term scheduling


CS 446 Principles of Computer Operating Systems 17
Example of SJF
Process Arrival Time Burst Time
P21 0.0 6
P42 2.0 8
P33 4.0 7
P14 5.0 3
 SJF scheduling chart

P4 P1 P3 P2

0 3 9 16 24

 Average waiting time = (3 + 16 + 9 + 0) / 4 = 7

CS 446 Principles of Computer Operating Systems 18


Determining Length of Next CPU Burst

 Can only estimate the length

 Can be done by using the length of previous CPU


bursts

1. t n  actual length of n th CPU burst


2.  n 1  predicted value for the next CPU burst
3.  , 0    1
4. Define :  n 1   t n  1    n .

CS 446 Principles of Computer Operating Systems 19


Examples of Averaging
  =0
 n 1   t n  1    n .
 n+1 = n
 Recent history does not count

  =1
 n+1 =  tn
 Only the actual last CPU burst counts

CS 446 Principles of Computer Operating Systems 20


Prediction of the Length of the Next CPU Burst
1. t n  actual length of n th CPU burst

 n 1   t n  1    n .
2.  n 1  predicted value for the next CPU burst
3.  , 0    1
4. Define :

CS 446 Principles of Computer Operating Systems 21


Scheduling Algorithms

First-Come, First-Served (FCFS) Scheduling

Shortest-Job-First (SJF) Scheduling

Priority Scheduling

Round Robin (RR)

CS 446 Principles of Computer Operating Systems 22


Priority Scheduling
 A priority number (integer) is associated with each process

 The CPU is allocated to the process with the highest priority


(smallest integer  highest priority)
 Preemptive
 Nonpreemptive

 SJF is a priority scheduling where priority is the predicted next CPU


burst time

 Problem  Starvation
 low priority processes may never execute
 Solution  Aging
 as time progresses increase the priority of the process

CS 446 Principles of Computer Operating Systems 23


Scheduling Algorithms

First-Come, First-Served (FCFS) Scheduling

Shortest-Job-First (SJF) Scheduling

Priority Scheduling

Round Robin (RR)

CS 446 Principles of Computer Operating Systems 24


Round Robin (RR)

 Each process gets a small unit of CPU time (time quantum ), usually
10-100 milliseconds.
 After this time has elapsed, the process is preempted and added
to the end of the ready queue.

 If there are n processes in the ready queue and the time quantum is q,
then each process gets 1/n of the CPU time in chunks of at most q time
units at once.
 No process waits more than (n-1)q time units.

 Performance
 q large  FIFO
 q small  q must be large with respect to context switch,
otherwise overhead is too high

CS 446 Principles of Computer Operating Systems 25


Examples of RR
A
Arrival times B
C
D
E

A B C D E Mean

A B C D E Mean

CS 446 Principles of Computer Operating Systems 26


End of Lecture

CS 446 Principles of Computer Operating Systems 27

You might also like