- If we increase our degree of multiprogramming, we are over-allocating memory.
- If we run six processes, each of which is ten pages in size but actually uses only five pages, we have higher CPU utilization and throughput, with ten frames to spare.
- It is possible that each of these processes may suddenly try to use all ten of its pages resulting in a need for sixty frames.
- Further, consider that system memory is not used only for holding program pages. Buffers for I/O also consume a significant amount of memory. This use can increase the strain on memory-placement algorithms.
- Over-allocation of memory manifests itself as follows (see Fig. 9.9).
- While a user process is executing, a page fault occurs.
- The OS determines where the desired page is residing on the disk but then finds that there are no free frames on the free-frame list; all memory is in use.
Figure 9.9:
Need for page replacement.
|
- The OS could swap out a process, freeing all its frames and reducing the level of multiprogramming.
Subsections
Cem Ozdogan
2011-02-14