400 likes | 555 Views
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 ,
E N D
CHAPTER 2PROCESSOR SCHEDULINGPART 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.
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 convoyeffect.
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