-
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 IN/ OUT, the next 70% of time doing computation, and the last 10% of the time doing IN/OUT 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 an IN/OUT or when the running process finishes its compute burst. Assume that all IN/OUT operations can be overlapped as much as possible. For what percentage of time does the CPU remain idle?
-
- 0%
- 10.6%
- 30.0%
- 89.4%
- 0%
Correct Option: B
Let three processes be p0, p1 and p2. Their execution time is 10, 20 and 30 respectively. p0 spends first 2 time units in I/O, 7 units of CPU time and finally 1 unit in I/O. p1 spends first 4 units in I/O, 14 units of CPU time and finally 2 units in I/O. p2 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%