When multiprogramming is used, the CPU utilization can be improved. Crudely put, if the average process computes only 20% of the time it is sitting in memory at once, the CPU should be busy all the time.
Unrealistically optimistic, assumes that all five processes will never be waiting for I/O at the same time.
Suppose that a process spend a fraction of its time waiting for I/O to complete. With processes in memory at once, the probability that all processes are waiting for I/O is . The CPU utilization is then given by the formula:
Figure 3.11 shows the CPU utilization as a function of , which is called the degree of multiprogramming.
Figure 3.11:
CPU utilization as a function of the number of processes in memory.
For the sake of complete accuracy, it should be pointed out that the probabilistic model is only an approximation. Context switching overhead is ignored.