With four programs in memory and with 80% average I/O wait, the CPU…
2009
With four programs in memory and with 80% average I/O wait, the CPU utilization is ?
- A.
60%
- B.
70%
- C.
90%
- D.
100%
Show answer & explanation
Correct answer: A
CONCEPT: In a multiprogramming system, if the degree of multiprogramming (the number of programs held in memory) is n, and each program independently spends a fraction p of its time waiting for I/O, then the probability that ALL n programs are waiting for I/O at the same instant (i.e. the CPU is idle) is p raised to the power n. Therefore CPU utilization = 1 minus p to the power n.
Identify the given values -- degree of multiprogramming n = 4 (four programs in memory), and I/O-wait probability p = 0.8 (80% average I/O wait).
Write the probability that all n programs wait simultaneously as p to the power n, i.e. (0.8) to the power 4.
Compute (0.8) to the power 4 = 0.4096.
CPU utilization = 1 minus (0.8 to the power 4) = 1 minus 0.4096 = 0.5904, i.e. 59.04%.
Rounding 59.04% to the nearest option given, the CPU utilization is 60%.
CROSS-CHECK: The formula should behave sensibly at the extremes -- with only n = 1 program, utilization = 1 - 0.8 = 20%, which matches the intuition that a single program that is blocked 80% of the time keeps the CPU busy only 20% of the time. As n increases from 1 to 4, the chance of all programs waiting simultaneously falls, so utilization should rise -- and indeed it climbs from 20% (n=1) to about 59% (n=4), confirming the computed result of approximately 60%.