Consider three processes, all arriving at time zero, with total execution time o
ID: 3674048 • Letter: C
Question
Consider three processes, all arriving at time zero, with total execution time of 10, 20 and 30 units, respectively. Each process spends the first 20% of execution time doing I/O, the next 70% of time doing computation, and the last 10% of time doing I/O again. The operating system uses a shortest remaining compute time first scheduling algorithm and schedules a new process either when the running process gets blocked on I/O or when the running process finishes its compute burst. Assume that all I/O operations can be overlapped as much as possible. For what percentage of time does the CPU remain idle?
Explanation / Answer
ANS: 10.6%
Let three processes be a0, a1 and a2. Their execution time is 10, 20 and 30 respectively. a0 spends first 2 time units in I/O, 7 units of CPU time and finally 1 unit in I/O. a1 spends first 4 units in I/O, 14 units of CPU time and finally 2 units in I/O. a2 spends first 6 units in I/O, 21 units of CPU time and finally 3 units in I/O.
idle p0 p1 p2 idle
0 2 9 23 44 47
Total time spent = 47
Idle time = 2 + 3 = 5
Percentage of idle time = (5/47)*100 = 10.6 %