Virtual Memory
- 1 September 1970
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Computing Surveys
- Vol. 2 (3) , 153-189
- https://doi.org/10.1145/356571.356573
Abstract
\The need for automatic storage allocation arises from desires for program modularity, machine independence, and resource sharing. Virtual memory is an elegant way of achieving these objectives. In a virtual memory, the addresses a program may use to identify information are distinguished from the addresses the memory system uses to identify physical storage sites, and program-generated addresses are translated automatically to the corresponding machine addresses. Two principal methods for implementing virtual memory, segmentation and paging, are compared and contrasted. Many contemporary implementations have experienced one or more of these problems: poor utilization of storage, thrashing, and high costs associated with loading information into memory. These and subsidiary problems are studied from a theoretic view, and are shown to be controllable by a proper combination of hardware and memory management policies.Keywords
This publication has 37 references indexed in Scilit:
- Dynamic space-sharing in computer systemsCommunications of the ACM, 1969
- Organizing matrices and matrix operations for paged memory systemsCommunications of the ACM, 1969
- The working set model for program behaviorCommunications of the ACM, 1968
- Virtual memory, processes, and sharing in MULTICSCommunications of the ACM, 1968
- Dynamic storage allocation systemsCommunications of the ACM, 1968
- Computers Then and NowJournal of the ACM, 1968
- A use of fast and slow memories in list-processing languagesCommunications of the ACM, 1967
- Program and Addressing Structure in a Time-Sharing EnvironmentJournal of the ACM, 1966
- Segmentation and the Design of Multiprogrammed Computer SystemsJournal of the ACM, 1965
- A Fixed Optimum Cell-Size for Records of Various LengthsJournal of the ACM, 1965