Top Banner
| CPU Scheduling
61

Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

May 18, 2018

Download

Documents

lecong
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

CPU Scheduling

Page 2: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Objectives

• Describe various CPU-scheduling algorithms

• Describe various multi- processor CPU-scheduling

algorithms

• To discuss evaluation criteria for selecting a CPU-

scheduling algorithm for a particular system

CPU scheduling 2

Page 3: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Basic Concepts

• Almost all computer resources are scheduled before use.

The CPU is one of the primary computer resources.

• CPU scheduling is the basis of multi-programmed operating

systems.

• What are multi-programmed operating systems?

• What are the benefits of multiprogramming?

CPU scheduling 3

Page 4: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Basic Concepts

• In a single-processor system, only one process can run

at a time; any others must wait until the CPU is free

and can be rescheduled.

• The objective of multiprogramming is to have some

process running at all times, to maximize CPU

utilization. How is multiprogramming achieved?

CPU scheduling 4

Page 5: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Cycle of CPU execution and I/O wait

• The success of CPU scheduling depends on an observed

property of processes:

» Process execution consists of a cycle of

CPU execution and I/O wait. Processes

alternate between these two states.

CPU scheduling 5

Page 6: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Cycle of CPU execution and I/O wait

CPU scheduling 6

Page 7: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Cycle of CPU execution and I/O wait

• Process execution begins with a CPU burst. That is

followed by an I/O burst, which is followed by another

CPU burst, then another I/O burst, and so on.

Eventually, the final CPU burst ends with a system

request to terminate execution.

CPU scheduling 7

Page 8: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Short term Scheduler

• Selects from among the

processes in ready queue,

and allocates the CPU to one

of them

– Queue may be ordered in

various ways. What are

this ways? (think real life

queues)

CPU scheduling 8

Page 9: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

CPU scheduling

• 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

CPU scheduling 9

Page 10: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Non-preemptive & preemptive

• CPU Scheduling algorithms can be categorized into two;

» Non-Preemptive

» Preemptive

CPU scheduling 10

Page 11: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Non-preemptive & preemptive

• Under non preemptive scheduling, once the CPU has been

allocated to a process, the process keeps the CPU until it

releases the CPU either by terminating or by switching to

the waiting state……The process cannot be interrupted

• With Preemptive a process can be interrupted during its

course of execution

CPU scheduling 11

Page 12: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Scheduling Algorithms

Page 13: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

CPU scheduling deals with the

problem of deciding which of

the processes in the ready

queue is to be allocated the

processor.

There are many different CPU

scheduling algorithms. These

are;

CPU scheduling 13

Page 14: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

First-Come, First-Served Scheduling

Shortest-Job-First Scheduling

Priority Scheduling

Round-Robin Scheduling

Multilevel Queue Scheduling

Multilevel Feedback-Queue Scheduling

CPU scheduling 14

Page 15: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

First-Come, First-Served (FCFS) Scheduling

• The simplest CPU-scheduling algorithm

• With this scheme, the process that requests the CPU

first is allocated the CPU first. The implementation of

the FCFS policy is easily managed with a FIFO queue.

• When a process enters the ready queue, its PCB is

linked onto the tail of the queue.

• When the CPU is free, it is allocated to the process at

the head of the queue. The running process is then

removed from the queue.

CPU scheduling 15

Page 16: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

First come First Served (FCFS)

Page 17: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

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

CPU scheduling 17

Page 18: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

First-Come, First-Served (FCFS) Scheduling

The Gantt Chart for the schedule is:

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

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

P1 P2 P3

24 27 30 0

CPU scheduling 18

Page 19: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

FCFS Scheduling (Cont.)

Suppose that the processes arrive in the order:

P2 , P3 , P1

Will there be a difference in the average waiting time?

CPU scheduling 19

Page 20: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

FCFS Scheduling (summary)

The FCFS scheduling algorithm is non-preemptive. What

does this mean?

• FCFS algorithm is troublesome for time-sharing systems

because Once the CPU has been allocated to a process, that

process keeps the CPU until it releases the CPU, either by

terminating or by requesting I/O.

CPU scheduling 20

Page 21: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Class Exercise 1

Process l Time Burst Time

P1 0.0 6

P2 2.0 8

P3 4.0 7

P4 5.0 3

Determine the average waiting time if FCFS scheduling algorithm

was in use

CPU scheduling 21

Page 22: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Shortest Job First (SJF)

Page 23: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Shortest-Job-First (SJF) Scheduling

• This algorithm associates with each process the length of

the process's next CPU burst.

• When the CPU is available, it is assigned to the process

that has the smallest next CPU burst.

• What if two processes have the same CPU burst?

• If the next CPU bursts of two processes are the same,

FCFS scheduling is used to break the tie.

CPU scheduling 23

Page 24: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Example of SJF

Process l Time Burst Time

P1 0.0 6

P2 2.0 8

P3 4.0 7

P4 5.0 3

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

P4 P3 P1

3 16 0 9

P2

24

CPU scheduling 24

Page 25: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Class Exercise 2

Process Burst Time

P1 24

P2 3

P3 3

Assume STF scheduling algorithm is used, what would the

order of the processes be?

Compute average waiting time if STF scheduling algorithm

was used

CPU scheduling 25

Page 26: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Difficulties with SJF

• The real difficulty with the SJF algorithm is knowing the length

of the next CPU request.

• However For long-term (job) scheduling, we can use the length

of the process specified when the process is submited.

• SJF is much difficult to implement at the level of short-term

CPU scheduling. There is no way to know the exact length of

the next CPU burst.

• What are the possible solutions to address this issue?

CPU scheduling 26

Page 27: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

SJF cont…

• The SJF algorithm can be either preemptive or non-

preemptive.

• In Preemtive, The choice arises when a new process arrives at

the ready queue while a previous process is still executing.

The next CPU burst of the newly arrived process may be

shorter than what is left of the currently executing process

CPU scheduling 27

Page 28: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

SJF cont…

• A preemptive SJF algorithm will preempt the currently

executing process, whereas a non-preemptive SJF algorithm

will allow the currently running process to finish its CPU burst.

CPU scheduling 28

Page 29: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

SJF cont…

• Preemptive SJF scheduling is sometimes called shortest-

remaining-time-first scheduling.

CPU scheduling 29

Page 30: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Shortest Remaining time First

(SRTF)

Page 31: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Example of Shortest-remaining-time-first

ProcessAarrArrival TimeT Burst Time

P1 0 8

P2 1 4

P3 2 9

P4 3 5

Class Discussion Questions

• What will be the order of process execution?

• Compute the average waiting time

• Compute the average waiting time if the algorithm is non

preemptive

CPU scheduling 31

Page 32: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Example of Shortest-remaining-time-first

ProcessAarri Arrival TimeTBurst Time

P1 0 8

P2 1 4

P3 2 9

P4 3 5

• Preemptive SJF Gantt Chart

• Average waiting time = 6.5 msec

P1 P1 P2

1 17 0 10

P3

26 5

P4

CPU scheduling 32

Page 33: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Non-preemptive

ProcessAarri Arrival TimeTBurst Time

P1 0 8

P2 1 4

P3 2 9

P4 3 5

• Order of execution will be P1-P2-P4-P3

• P1 0

• P2 7

• P3 9

• P4 15

Average waiting time = 7.75 msec

CPU scheduling 33

Page 34: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Class Exercise

ProcessAarri Arrival TimeTBurst Time

P1 0.0 7

P2 2.0 4

P3 4.0 1

P4 5.0 4

i. Draw a gantt chart to represent the following processes

ii. Compute the average waiting time of the following set of

processes using

» SJF (preemptive)-3m/s

» SJF (non-Preemptive)-4m/s

CPU scheduling 34

Page 35: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Priority Scheduling

Page 36: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Priority Scheduling

• A priority is associated with each process, and the CPU is

allocated to the process with the highest priority.

• Would we be right to say that the SJF algorithm is a special

case of the general priority scheduling algorithm?

• What would happen if two processes have the same priority?

• When two processes have the same priority, First come first

served algorithm is used to schedule

CPU scheduling 36

Page 37: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Priority Scheduling

• Note that we discuss scheduling in terms of high priority and

low priority. Priorities are generally indicated by some fixed

range of numbers, such as 0 to 7 or 0 to 4,095. However, there

is no general agreement on whether 0 is the highest or lowest

priority.

• Some systems use low numbers to represent low priority;

others use low numbers for high priority. This difference can

lead to confusion. In our class, we assume that low numbers

represent high priority.

CPU scheduling 37

Page 38: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Example of Priority Scheduling – assumption is that all processes are in the ready queue

ProcessAarriBurst TimeT Priority

P1 10 3

P2 1 1

P3 2 4

P4 1 5

P5 5 2

Class discussion questions

Draw the Gantt chart for the processes above

What will the average waiting time be?

CPU scheduling 38

Page 39: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Example of Priority Scheduling –Solution assumption is that all processes are in the ready queue

• Priority scheduling Gantt Chart

P2 P3 P5

1 18 0 16

P4

19 6

P1

CPU scheduling 39

Page 40: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Priority Scheduling

• Priorities can be defined either internally or externally.

• Internally defined priorities use some measurable quantity or

quantities to compute the priority of a process. For example,

time limits, memory requirements, the number of open files,

and the ratio of average I/O burst to average CPU burst have

been used in computing priorities.

CPU scheduling 40

Page 41: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Priority Scheduling

• External priorities are set by criteria outside the operating

system, such as the importance of the process. Examples?

• Priority scheduling can be either preemptive or non-

preemptive. Explain

CPU scheduling 41

Page 42: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Problems with Priority Scheduling

• A major problem with priority scheduling algorithms is

indefinite blocking, or starvation.

• A process that is ready to run but waiting for the CPU can be

considered blocked.

• A priority scheduling algorithm can leave some low priority

processes waiting indefinitely. In a heavily loaded computer

system, a steady stream of higher-priority processes can

prevent a low-priority process from ever getting the CPU.

CPU scheduling 42

Page 43: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Indefinite blocking solution

• A solution to the problem of indefinite blockage of low-priority

processes is aging.

• Aging is a technique of gradually increasing the priority of

processes that wait in the system for a long time.

• For example, if priorities range from 127 (low) to 0 (high), we

could increase the priority of a waiting process by 1 every 15

minutes.

CPU scheduling 43

Page 44: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Class Exercise

Process Duration Priority Arrival

Time

P1 6 4 0.0

P2 8 1 2.0

P3 7 3 3.0

P4 3 2 5.0

• Draw a Gantt chart to

represent the following

processes

• Compute the average

waiting time of the

following set of processes

using preemptive priority

scheduling algorithm

CPU scheduling 44

Page 45: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Round Robin (RR)

Page 46: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Round Robin (RR)

• The round-robin (RR) scheduling algorithm is designed

especially for time sharing systems.

• It is similar to FCFS scheduling, but preemption is added to

switch between processes. A small unit of time, called a time

quantum or time slice, is defined.

• The CPU scheduler goes around the ready queue, allocating

the CPU to each process for a time interval of up to 1 time

quantum.

CPU scheduling 46

Page 47: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Example of RR with Time Quantum = 4

Process Burst Time

P1 24

P2 3

P3 3

• The Gantt chart is:

• What will the average waiting time be?

• What will the average Turn-around time be?

P1 P2 P3 P1 P1 P1 P1 P1

0 4 7 10 14 18 22 26 30

CPU scheduling 47

Page 48: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Class Exercise : Time Quantum = 4 Process Burst Time Arrival time P1 8 P2 4 P3 9 P4 5

• Draw the Gantt chart to represent the execution for a time quantum of 4

and 5

• Compute the average waiting time for a time quantum of 4 and 5

• Compute the average turn-around time for a time quantum of 4 and 5

(comment on the turn around time)

CPU scheduling 48

Page 49: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Turnaround Time Vs Time Quantum

• Would we be right to conclude that turnaround time of a set of

processes improves as the time-quantum size increases?

CPU scheduling 49

Page 50: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Turnaround Time Vs Time Quantum

• The average turnaround time of a set of processes does not

necessarily improve as the time-quantum size increases.

• In general, the average turnaround time can be improved if

most processes finish their next CPU burst in a single time

quantum.

CPU scheduling 50

Page 51: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Multilevel Queue

Page 52: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Multilevel Queue

• Multilevel queues are used for situations where processes

are easily classified into different groups.

• A common division is made between foreground

(interactive) processes and background processes. These

two types of processes have different response-time

requirements and so may have different scheduling needs

CPU scheduling 52

Page 53: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Multilevel Queue

• A multilevel queue scheduling algorithm partitions the

ready queue into several separate queues.

• The processes are permanently assigned to one queue,

generally based on some property of the process, such as

memory size, process priority, or process type. Each queue

has its own scheduling algorithm.

CPU scheduling 53

Page 54: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Multilevel Queue Scheduling

CPU scheduling 54

Page 55: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Multilevel Feedback Queue

• In contrast to Multilevel queue, this algorithm allows a

process to move between queues. The idea is to

separate processes according to the characteristics of

their CPU bursts.

• If a process uses too much CPU time, it will be moved

to a lower-priority queue. This scheme leaves I/O-

bound and interactive processes in the higher-priority

queues.

CPU scheduling 55

Page 56: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Multilevel Feedback Queues

CPU scheduling 56

Page 57: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Scheduling Criteria

• Different CPU scheduling algorithms have different

properties, and the choice of a particular algorithm may

favor one class of processes over another.

• Many criteria have been suggested for comparing CPU

scheduling algorithms. Which characteristics are used for

comparison can make a substantial difference in which

algorithm is judged to be best. The criteria include the

following:

CPU scheduling 57

Page 58: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Scheduling Criteria

• CPU utilization – keep the CPU as busy as possible

• Throughput – # of processes that complete their execution per

time unit

• Turnaround time – From the point of view of a particular

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

CPU scheduling 58

Page 59: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Scheduling Algorithm Optimization Criteria

• Max CPU utilization

• Max throughput

• Min turnaround time

• Min waiting time

• Min response time

CPU scheduling 59

Page 60: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Multilevel Queue Scheduling-Example

• ML queue, 2 levels

– RR @ 10 units

– FCFS

RR gets priority over FCFS

• Process Arrival Burst Queue

P1 0 12 FCFS

P2 4 12 RR

P3 8 8 FCFS

P4 20 10 RR

• Non-preemptive and preemptive

• Draw a Gantt charts to represent this algorithm both for

preemptive and non-preemptive

• Compute average waiting and turn around time.

CPU scheduling 60

Page 61: Module 6: CPU Scheduling - ICPAK€¦ · • CPU scheduling is the ... • Preemptive SJF scheduling is sometimes called shortest-remaining-time-first ... Shortest Remaining time

|

Ole Sangale Road, Madaraka Estate. PO Box 59857-00200, Nairobi, Kenya Tel: (+254) (0)703 034000/200/300 Fax : +254 (0)20 607498

Email: [email protected] Website: www.strathmore.edu