CHAPTER 2 PROCESSOR SCHEDULING PART II by Ugur HALICI
2.5 Processor Scheduling algorithms 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 We will consider the following processes and will apply different scheduling algorithms on it. Process Arrival time 1st exec 1st I/O 2nd exec 2nd I/O 3rd exec A 4 B 2 8 1 - C 3 D 7
2.3.1 First-Come-First-Served (FCFS) 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) 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) Process Arrival time 1st exec 1st I/O 2nd exec 2nd I/O 3rd exec A 4 B 2 8 1 - C 3 D 7 RQ: A
2.3.1 First-Come-First-Served (FCFS) Process Arrival time 1st exec 1st I/O 2nd exec 2nd I/O 3rd exec A 4 B 2 8 1 - C 3 D 7 RQ: B
2.3.1 First-Come-First-Served (FCFS) Process Arrival time 1st exec 1st I/O 2nd exec 2nd I/O 3rd exec A 4 B 2 8 1 - C 3 D 7 RQ: B C
2.3.1 First-Come-First-Served (FCFS) Process Arrival time 1st exec 1st I/O 2nd exec 2nd I/O 3rd exec A 4 B 2 8 1 - C 3 D 7 RQ: B C
2.3.1 First-Come-First-Served (FCFS) Process Arrival time 1st exec 1st I/O 2nd exec 2nd I/O 3rd exec A 4 B 2 8 1 - C 3 D 7 RQ: C D
2.3.1 First-Come-First-Served (FCFS) Process Arrival time 1st exec 1st I/O 2nd exec 2nd I/O 3rd exec A 4 B 2 8 1 - C 3 D 7 RQ: C D A
2.3.1 First-Come-First-Served (FCFS) Process Arrival time 1st exec 1st I/O 2nd exec 2nd I/O 3rd exec A 4 B 2 8 1 - C 3 D 7 RQ: C D A
2.3.1 First-Come-First-Served (FCFS) Process Arrival time 1st exec 1st I/O 2nd exec 2nd I/O 3rd exec A 4 B 2 8 1 - C 3 D 7 RQ: D A B
2.3.1 First-Come-First-Served (FCFS) Process Arrival time 1st exec 1st I/O 2nd exec 2nd I/O 3rd exec A 4 B 2 8 1 - C 3 D 7 RQ: D A B
2.3.1 First-Come-First-Served (FCFS) Process Arrival time 1st exec 1st I/O 2nd exec 2nd I/O 3rd exec A 4 B 2 8 1 - C 3 D 7 RQ: A B C
2.3.1 First-Come-First-Served (FCFS) Process Arrival time 1st exec 1st I/O 2nd exec 2nd I/O 3rd exec A 4 B 2 8 1 - C 3 D 7 RQ: B C D
2.3.1 First-Come-First-Served (FCFS) Process Arrival time 1st exec 1st I/O 2nd exec 2nd I/O 3rd exec A 4 B 2 8 1 - C 3 D 7 RQ: B C D
2.3.1 First-Come-First-Served (FCFS) Process Arrival time 1st exec 1st I/O 2nd exec 2nd I/O 3rd exec A 4 B 2 8 1 - C 3 D 7 RQ: C D A
2.3.1 First-Come-First-Served (FCFS) Process Arrival time 1st exec 1st I/O 2nd exec 2nd I/O 3rd exec A 4 B 2 8 1 - C 3 D 7 RQ: C D A
2.3.1 First-Come-First-Served (FCFS) Process Arrival time 1st exec 1st I/O 2nd exec 2nd I/O 3rd exec A 4 B 2 8 1 - C 3 D 7 RQ: D A
2.3.1 First-Come-First-Served (FCFS) Process Arrival time 1st exec 1st I/O 2nd exec 2nd I/O 3rd exec A 4 B 2 8 1 - C 3 D 7 RQ: A
2.3.1 First-Come-First-Served (FCFS) Process Arrival time 1st exec 1st I/O 2nd exec 2nd I/O 3rd exec A 4 B 2 8 1 - C 3 D 7 RQ: D
2.3.1 First-Come-First-Served (FCFS) Process Arrival time 1st exec 1st I/O 2nd exec 2nd I/O 3rd exec A 4 B 2 8 1 - C 3 D 7 RQ: D
2.3.1 First-Come-First-Served (FCFS) Process Arrival time 1st exec 1st I/O 2nd exec 2nd I/O 3rd exec A 4 B 2 8 1 - C 3 D 7 RQ:
2.3.1 First-Come-First-Served (FCFS) Processor utilization = (35 / 35) * 100 = 100 % Throughput = 4 / 35=0.11
2.3.1 First-Come-First-Served (FCFS) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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