0% found this document useful (0 votes)
13 views29 pages

TFCS 5

The document discusses CPU scheduling in operating systems. It covers basic concepts like CPU-I/O burst cycles and histograms of CPU burst times. It then describes scheduling criteria like CPU utilization, throughput, turnaround time and waiting time. Several scheduling algorithms are covered, including first-come first-served (FCFS), shortest job first (SJF), priority scheduling, and round robin (RR) scheduling. Examples and Gantt charts are provided to illustrate each scheduling algorithm.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views29 pages

TFCS 5

The document discusses CPU scheduling in operating systems. It covers basic concepts like CPU-I/O burst cycles and histograms of CPU burst times. It then describes scheduling criteria like CPU utilization, throughput, turnaround time and waiting time. Several scheduling algorithms are covered, including first-come first-served (FCFS), shortest job first (SJF), priority scheduling, and round robin (RR) scheduling. Examples and Gantt charts are provided to illustrate each scheduling algorithm.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 29

Balkh University

Computer science Faculty


Technical Foundation of
Computer science-1 (TFCS-1)
Chapter 5: CPU Scheduling

Nasratullah Walizada Balkh university 2023


Chapter 5: CPU Scheduling

▸ Basic Concepts
▸ Scheduling Criteria
▸ Scheduling Algorithms
▸ Thread Scheduling
▸ Multiple-Processor Scheduling
▸ Operating Systems Examples
▸ Algorithm Evaluation

Nasratullah Walizada Balkh university 2023


2
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

Nasratullah Walizada Balkh university 2023


3
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

Nasratullah Walizada Balkh university 2023


4
Alternating Sequence of CPU and
I/O Bursts

Nasratullah Walizada Balkh university 2023


5
Histogram of CPU-burst Times

Nasratullah Walizada Balkh university 2023


6
CPU Scheduler

Selects from among the processes in ready queue, and allocates


the CPU to one of them
Queue may be ordered in various ways
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
All other scheduling is preemptive

Nasratullah Walizada Balkh university 2023


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

Nasratullah Walizada Balkh university 2023


8
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)

Nasratullah Walizada Balkh university 2023


9
Scheduling Algorithm Optimization
Criteria
▸ Max CPU utilization
▸ Max throughput
▸ Min turnaround time
▸ Min waiting time
▸ Min response time

Nasratullah Walizada Balkh university 2023


10
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
Nasratullah Walizada Balkh university 2023
11
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
Convoy effect - short process behind long process
Consider one CPU-bound and many I/O-bound processes

Nasratullah Walizada Balkh university 2023


12
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

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
Could ask the user

Nasratullah Walizada Balkh university 2023


13
Example of SJF

ProcessArriva Time Burst Time


P1 6
P2 0 8
P3.0 7
P45.0 3
▸ SJF scheduling chart

P4 P1 P3 P2

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

Nasratullah Walizada Balkh university 2023


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

Problem  Starvation – low priority processes may never execute

Solution  Aging – as time progresses increase the priority of the process

Nasratullah Walizada Balkh university 2023


15
Example of Priority Scheduling
ProcessA arri Burst TimeT Priority
P1 10 3
P2 1 1
P3 2 4
P4 1 5
P5 5 2

Priority scheduling Gantt Chart

P2 P5 P1 P3 P4

0 1 6 16 18 19
Average waiting time = 8.2 msec

Nasratullah Walizada Balkh university 2023


16
Round Robin (RR)

Each process gets a small unit of CPU time (time quantum q),
usually 10-100 milliseconds. After this time has elapsed, the
process is preempted and added to the end of the ready
queue.
Timer interrupts every quantum to schedule next process
Performance
q large  FIFO
q small  q must be large with respect to context switch,
otherwise overhead is too high

Nasratullah Walizada Balkh university 2023


17
Example of RR with Time Quantum = 4
Process
Burst Time
P1
24
P2
3
P3
3

The Gantt chart is:

P1 P2 P3 P1 P1 P1 P1 P1

0 4 7 10 14 18 22 26 30

Nasratullah Walizada Balkh university 2023


18
Time Quantum and Context Switch Time

Nasratullah Walizada Balkh university 2023


19
Turnaround Time Varies With
The Time Quantum

80% of CPU bursts should be


shorter than q

Nasratullah Walizada Balkh university 2023


20
Multilevel Queue
Ready queue is partitioned into separate queues, eg:
foreground (interactive)
background (batch)
Process permanently in a given queue

Each queue has its own scheduling algorithm:


foreground – RR
background – FCFS

Scheduling must be done between the queues:


Fixed priority scheduling; (i.e., serve all from foreground then from
background). Possibility of starvation.
Time slice – each queue gets a certain amount of CPU time which it can
schedule among its processes; i.e., 80% to foreground in RR
20% to background in FCFS
Nasratullah Walizada Balkh university 2023
21
Multilevel Queue Scheduling

Nasratullah Walizada Balkh university 2023


22
Multilevel Feedback Queue
▸ A process can move between the various queues; aging
can be implemented this way

▸ Multilevel-feedback-queue scheduler defined by the


following parameters:
▹ number of queues
▹ scheduling algorithms for each queue
▹ method used to determine when to upgrade a process
▹ method used to determine when to demote a process
▹ method used to determine which queue a process will
enter when that process needs service

Nasratullah Walizada Balkh university 2023


23
Example of Multilevel Feedback Queue
▸ Three queues:
▹ Q0 – RR with time quantum 8 milliseconds
▹ Q1 – RR time quantum 16 milliseconds
▹ Q2 – FCFS

▸ Scheduling
▹ A new job enters queue Q0 which is served FCFS
▹ When it gains CPU, job receives 8 milliseconds
▹ If it does not finish in 8 milliseconds, job is moved to queue Q1
▹ At Q1 job is again served FCFS and receives 16 additional
milliseconds
▹ If it still does not complete, it is preempted and moved to
queue Q2

Nasratullah Walizada Balkh university 2023


24
Multilevel Feedback Queues

Nasratullah Walizada Balkh university 2023


25
Virtualization and Scheduling

 Virtualization software schedules multiple guests onto


CPU(s)

 Each guest doing its own scheduling


 Not knowing it doesn’t own the CPUs
 Can result in poor response time
 Can effect time-of-day clocks in guests

Nasratullah Walizada Balkh university 2023


26
Operating System Examples

 Solaris scheduling ( priority )


 Windows XP scheduling ( priority based on preemptive
scheduling )
 Linux scheduling (Preemptive, priority based )

Nasratullah Walizada Balkh university 2023


27
Dispatch Latency

Nasratullah Walizada Balkh university 2023


28
End of Chapter 5

Nasratullah Walizada Balkh university 2023


29

You might also like