Chapter 2 Processor Scheduling

Download Report

Transcript Chapter 2 Processor Scheduling

CHAPTER 2
PROCESSOR SCHEDULING
PART II
by Ugur HALICI
2.5 Processor Scheduling algorithms
1


The goal of a scheduling algorithm is to select the
most appropriate process in the ready queue.
For simplicity, we will assume that
 we
have a single I/O server and a single device
queue,
 device queue always implemented with FCFS (FIFO)
method.

We also will neglect the switching time between
processes (context switching).
2.5 Processor Scheduling algorithms
2

We will consider the following processes and will
apply different scheduling algorithms on it.
Process
A
B
C
D
Arrival
time
0
2
3
7
1st exec
1st I/O
2nd exec
2nd I/O
3rd exec
4
8
2
1
4
1
1
1
4
8
2
1
4
1
4
1
2.3.1 First-Come-First-Served (FCFS)
3



In this algorithm, the process to be selected is the
process which requests the processor first.
This is the process whose PCB is at the head of the
ready queue.
Contrary to its simplicity, its performance may often
be poor compared to other algorithms.
2.3.1 First-Come-First-Served (FCFS)
4



FCFS may cause processes with short processor
bursts to wait for a long time.
If one process with a long processor burst gets the
processor, all the others will wait for it to release it
and the ready queue will be crowded.
This is called the convoy effect.
2.3.1 First-Come-First-Served (FCFS)
5
Process
A
B
C
D
RQ
:
A
Arrival
time
0
2
3
7
1st exec
4
8
2
1
1st I/O
4
1
1
1
2nd exec
4
8
2
1
2nd I/O
4
1
3rd exec
4
1
2.3.1 First-Come-First-Served (FCFS)
6
Process
A
B
C
D
RQ
:
B
Arrival
time
0
2
3
7
1st exec
4
8
2
1
1st I/O
4
1
1
1
2nd exec
4
8
2
1
2nd I/O
4
1
3rd exec
4
1
2.3.1 First-Come-First-Served (FCFS)
7
Process
Arrival
time
0
2
3
7
A
B
C
D
RQ
:
B
C
1st exec
4
8
2
1
1st I/O
4
1
1
1
2nd exec
4
8
2
1
2nd I/O
4
1
3rd exec
4
1
2.3.1 First-Come-First-Served (FCFS)
8
Process
Arrival
time
0
2
3
7
A
B
C
D
RQ
:
B
C
1st exec
4
8
2
1
1st I/O
4
1
1
1
2nd exec
4
8
2
1
2nd I/O
4
1
3rd exec
4
1
2.3.1 First-Come-First-Served (FCFS)
9
Process
Arrival
time
0
2
3
7
A
B
C
D
RQ
:
C
D
1st exec
4
8
2
1
1st I/O
4
1
1
1
2nd exec
4
8
2
1
2nd I/O
4
1
3rd exec
4
1
2.3.1 First-Come-First-Served (FCFS)
10
Process
Arrival
time
0
2
3
7
A
B
C
D
RQ
:
C
D
A
1st exec
4
8
2
1
1st I/O
4
1
1
1
2nd exec
4
8
2
1
2nd I/O
4
1
3rd exec
4
1
2.3.1 First-Come-First-Served (FCFS)
11
Process
Arrival
time
0
2
3
7
A
B
C
D
RQ
:
C
D
A
1st exec
4
8
2
1
1st I/O
4
1
1
1
2nd exec
4
8
2
1
2nd I/O
4
1
3rd exec
4
1
2.3.1 First-Come-First-Served (FCFS)
12
Process
Arrival
time
0
2
3
7
A
B
C
D
RQ
:
D
A
B
1st exec
4
8
2
1
1st I/O
4
1
1
1
2nd exec
4
8
2
1
2nd I/O
4
1
3rd exec
4
1
2.3.1 First-Come-First-Served (FCFS)
13
Process
Arrival
time
0
2
3
7
A
B
C
D
RQ
:
D
A
B
1st exec
4
8
2
1
1st I/O
4
1
1
1
2nd exec
4
8
2
1
2nd I/O
4
1
3rd exec
4
1
2.3.1 First-Come-First-Served (FCFS)
14
Process
Arrival
time
0
2
3
7
A
B
C
D
RQ
:
A
B
C
1st exec
4
8
2
1
1st I/O
4
1
1
1
2nd exec
4
8
2
1
2nd I/O
4
1
3rd exec
4
1
2.3.1 First-Come-First-Served (FCFS)
15
Process
Arrival
time
0
2
3
7
A
B
C
D
RQ
:
B
C
D
1st exec
4
8
2
1
1st I/O
4
1
1
1
2nd exec
4
8
2
1
2nd I/O
4
1
3rd exec
4
1
2.3.1 First-Come-First-Served (FCFS)
16
Process
Arrival
time
0
2
3
7
A
B
C
D
RQ
:
B
C
D
1st exec
4
8
2
1
1st I/O
4
1
1
1
2nd exec
4
8
2
1
2nd I/O
4
1
3rd exec
4
1
2.3.1 First-Come-First-Served (FCFS)
17
Process
Arrival
time
0
2
3
7
A
B
C
D
RQ
:
C
D
A
1st exec
4
8
2
1
1st I/O
4
1
1
1
2nd exec
4
8
2
1
2nd I/O
4
1
3rd exec
4
1
2.3.1 First-Come-First-Served (FCFS)
18
Process
Arrival
time
0
2
3
7
A
B
C
D
RQ
:
C
D
A
1st exec
4
8
2
1
1st I/O
4
1
1
1
2nd exec
4
8
2
1
2nd I/O
4
1
3rd exec
4
1
2.3.1 First-Come-First-Served (FCFS)
19
Process
Arrival
time
0
2
3
7
A
B
C
D
RQ
:
D
A
1st exec
4
8
2
1
1st I/O
4
1
1
1
2nd exec
4
8
2
1
2nd I/O
4
1
3rd exec
4
1
2.3.1 First-Come-First-Served (FCFS)
20
Process
A
B
C
D
RQ:
A
Arrival
time
0
2
3
7
1st exec
4
8
2
1
1st I/O
4
1
1
1
2nd exec
4
8
2
1
2nd I/O
4
1
3rd exec
4
1
2.3.1 First-Come-First-Served (FCFS)
21
Process
A
B
C
D
RQ:
D
Arrival
time
0
2
3
7
1st exec
4
8
2
1
1st I/O
4
1
1
1
2nd exec
4
8
2
1
2nd I/O
4
1
3rd exec
4
1
2.3.1 First-Come-First-Served (FCFS)
22
Process
A
B
C
D
RQ:
D
Arrival
time
0
2
3
7
1st exec
4
8
2
1
1st I/O
4
1
1
1
2nd exec
4
8
2
1
2nd I/O
4
1
3rd exec
4
1
2.3.1 First-Come-First-Served (FCFS)
23
Process
A
B
C
D
RQ:
Arrival
time
0
2
3
7
1st exec
4
8
2
1
1st I/O
4
1
1
1
2nd exec
4
8
2
1
2nd I/O
4
1
3rd exec
4
1
2.3.1 First-Come-First-Served (FCFS)
24

Processor utilization = (35 / 35) * 100 = 100 %

Throughput = 4 / 35=0.11
2.3.1 First-Come-First-Served (FCFS)
25

Turn around time:
tatA = 34 – 0 = 34
tatB = 27 – 2 = 25
tatC = 29 – 3 = 26
tatD = 35 – 7 = 28
tatAVG = (34 + 25 + 26 + 28) / 4 = 28.25
2.3.1 First-Come-First-Served (FCFS)
26

Turn around time:
tatA = 34 – 0 = 34
tatB = 27 – 2 = 25
tatC = 29 – 3 = 26
tatD = 35 – 7 = 28
tatAVG = (34 + 25 + 26 + 28) / 4 = 28.25
2.3.1 First-Come-First-Served (FCFS)
27

Turn around time:
tatA = 34 – 0 = 34
tatB = 27 – 2 = 25
tatC = 29 – 3 = 26
tatD = 35 – 7 = 28
tatAVG = (34 + 25 + 26 + 28) / 4 = 28.25
2.3.1 First-Come-First-Served (FCFS)
28

Turn around time:
tatA = 34 – 0 = 34
tatB = 27 – 2 = 25
tatC = 29 – 3 = 26
tatD = 35 – 7 = 28
tatAVG = (34 + 25 + 26 + 28) / 4 = 28.25
2.3.1 First-Come-First-Served (FCFS)
29

Turn around time:
tatA = 34 – 0 = 34
tatB = 27 – 2 = 25
tatC = 29 – 3 = 26
tatD = 35 – 7 = 28
tatAVG = (34 + 25 + 26 + 28) / 4 = 28.25
2.3.1 First-Come-First-Served (FCFS)
30

Waiting time:
wtA = (0 – 0) + (15 – 8) + (30 – 23) = 14
wtB = (4 – 2) + (19 – 13) = 8
wtC = (12 – 3) + (27 – 15) = 21
wtD = (14 – 7) + (29 – 16) + (34 – 31) = 23
wtAVG = (14 + 12 + 21 + 23) / 4 = 16.5
2.3.1 First-Come-First-Served (FCFS)
31

Waiting time:
wtA = (0 – 0) + (15 – 8) + (30 – 23) = 14
wtB = (4 – 2) + (19 – 13) = 8
wtC = (12 – 3) + (27 – 15) = 21
wtD = (14 – 7) + (29 – 16) + (34 – 31) = 23
wtAVG = (14 + 12 + 21 + 23) / 4 = 16.5
2.3.1 First-Come-First-Served (FCFS)
32

Waiting time:
wtA = (0 – 0) + (15 – 8) + (30 – 23) = 14
wtB = (4 – 2) + (19 – 13) = 8
wtC = (12 – 3) + (27 – 15) = 21
wtD = (14 – 7) + (29 – 16) + (34 – 31) = 23
wtAVG = (14 + 12 + 21 + 23) / 4 = 16.5
2.3.1 First-Come-First-Served (FCFS)
33

Waiting time:
wtA = (0 – 0) + (15 – 8) + (30 – 23) = 14
wtB = (4 – 2) + (19 – 13) = 8
wtC = (12 – 3) + (27 – 15) = 21
wtD = (14 – 7) + (29 – 16) + (34 – 31) = 23
wtAVG = (14 + 12 + 21 + 23) / 4 = 16.5
2.3.1 First-Come-First-Served (FCFS)
34

Waiting time:
wtA = (0 – 0) + (15 – 8) + (30 – 23) = 14
wtB = (4 – 2) + (19 – 13) = 8
wtC = (12 – 3) + (27 – 15) = 21
wtD = (14 – 7) + (29 – 16) + (34 – 31) = 23
wtAVG = (14 + 12 + 21 + 23) / 4 = 16.5
2.3.1 First-Come-First-Served (FCFS)
35

Response time:
rtA = 0 – 0 = 0
rtB = 4 – 2 = 2
rtC = 12 – 3 = 9
rtD = 14 – 7 = 7
rtAVG = (0 + 2 + 9 + 7) / 4 = 4.5
2.3.1 First-Come-First-Served (FCFS)
36

Response time:
rtA = 0 – 0 = 0
rtB = 4 – 2 = 2
rtC = 12 – 3 = 9
rtD = 14 – 7 = 7
rtAVG = (0 + 2 + 9 + 7) / 4 = 4.5
2.3.1 First-Come-First-Served (FCFS)
37

Response time:
rtA = 0 – 0 = 0
rtB = 4 – 2 = 2
rtC = 12 – 3 = 9
rtD = 14 – 7 = 7
rtAVG = (0 + 2 + 9 + 7) / 4 = 4.5
2.3.1 First-Come-First-Served (FCFS)
38

Response time:
rtA = 0 – 0 = 0
rtB = 4 – 2 = 2
rtC = 12 – 3 = 9
rtD = 14 – 7 = 7
rtAVG = (0 + 2 + 9 + 7) / 4 = 4.5
2.3.1 First-Come-First-Served (FCFS)
39

Response time:
rtA = 0 – 0 = 0
rtB = 4 – 2 = 2
rtC = 12 – 3 = 9
rtD = 14 – 7 = 7
rtAVG = (0 + 2 + 9 + 7) / 4 = 4.5