摘要 |
<p>A virtual memory system and method enable a computer system (120) to use a virtual memory address space larger than the size of physical primary memory (104) while swapping few, if any, pages out to secondary memory. Primary memory (104) is divided into a work space (122), used for storing uncompressed pages in current use, and a 'Compression Heap' (124). A MappedOut storage space (130), which includes the Compression Heap and a portion of secondary memory, is used to store all pages swapped out of the work space (122). A virtual memory manager (110) dynamically determines the number of pages of primary memory (104) which need to be included in the work space, and moves pages of primary memory into the work space from the Compression Heap (124) as needed. Pages are selected to be swapped out of the work space to the MappedOut storage space (130), and a data decompressor decompresses the compressed virtual memory pages when a fault occurs on those pages. The virtual memory manager (130) includes a sufficient number of pages of primary memory to store those virtual memory pages, and for storing ones of the swapped out virtual memory pages in secondary memory (106) when insufficient space is available in the Compression Heap (124).</p> |