FIELD NOTE / 2026.09.113 MIN READ / 5 SOURCES

Virtual Memory and the Invention of an Address Space Larger Than RAM

Virtual memory let programs work in logical address spaces larger and more flexible than physical main memory, with hardware and operating systems moving pages between fast memory and backing storage.

Physical memory once defined the visible size of a program

Early programmers had to fit code and data into the memory physically installed in a machine or manage overlays explicitly. As programs and multi-user systems grew, that constraint became a major burden.

The University of Manchester identifies the Atlas project as the first computer to use virtual memory, an innovation associated with Tom Kilburn’s team and brought into operation with Atlas in 1962.[1][2]

Atlas introduced a one-level store illusion

Atlas combined fast core memory with slower drum storage and made movement between them largely an operating-system concern. The program addressed a larger logical space while the system decided which blocks needed to be present in fast memory.[3]

This changed memory from a fixed hardware allocation into a managed abstraction.

Pages became the unit of movement

Virtual memory divides an address space into blocks that can be mapped between virtual addresses and physical frames. The operating system can bring a missing page into memory when the program references it.

Associative translation hardware made the idea practical

Atlas used hardware mechanisms to translate program addresses efficiently. Later systems refined this with page tables, translation lookaside buffers and increasingly sophisticated memory-management units.

Virtual memory supported multiprogramming

When several programs share one machine, each does not need all of its possible memory resident at once. Virtual memory lets the operating system keep active portions in RAM while moving less-used pages to backing storage.

CHM’s history explicitly connects Atlas virtual memory with the needs of time-sharing.[4]

Address spaces became protection boundaries

Virtual memory is not only a capacity mechanism. Different processes can receive distinct address spaces even when they share the same physical RAM. Page permissions can prevent one process from reading or writing another’s memory.

This made memory translation part of operating-system security and isolation.

Shared pages allowed controlled cooperation

The same physical page can intentionally appear in multiple address spaces, enabling shared libraries, shared memory and efficient file mappings while retaining explicit protection rules.

Copy-on-write delayed expensive copying

Operating systems can initially share pages between related processes and create private copies only when one process writes. This turns virtual-memory machinery into a performance optimization as well as an isolation tool.

IBM brought virtual storage into mainstream mainframes

IBM’s history of System/360 Model 67 and System/370 describes Dynamic Address Translation and virtual storage becoming important to commercial time-sharing and mainframe systems.[5]

By the 1970s, virtual memory was no longer an experimental feature of one research machine; it was becoming a standard expectation in advanced operating systems.

Paging created new operating-system policy problems

Once pages could move automatically, the operating system had to decide which pages to keep, which to evict and how much memory each workload deserved. Poor decisions could produce thrashing, where the machine spends more time moving pages than executing useful work.

Memory management therefore became a field of algorithms, workload measurement and hardware-software co-design.

Modern systems use virtual memory even when RAM is abundant

Contemporary operating systems use virtual address spaces for memory-mapped files, shared libraries, process isolation, demand loading, guard pages and allocation flexibility even on systems with large physical memory.

The abstraction has outlived the original motivation of simply pretending a small memory is larger.

Why virtual memory changed the meaning of memory

Virtual memory separated the address a program uses from the exact physical location where data resides. That indirection became one of the most powerful ideas in operating-system design.

From Atlas onward, the operating system could present each process with a stable logical world while hardware and kernel policy continuously rearranged the physical one underneath it.[1][4]

RESEARCH / PROVENANCE

Works Cited

5 SOURCES
  1. 01
  2. 02
  3. 03
    University of Manchester — The Atlas curation.cs.manchester.ac.uk
  4. 04
  5. 05

CodeHistory is a living archive. Citations document the evidence used for this edition; later evidence may refine the account.

Contribute / Corrections

Improve the record.

Use this moderated submission form to suggest a correction, provide a source, challenge a priority claim or identify a missing contributor. Submissions are treated as research leads, not automatically published comments.

Submit a research lead

Please do not submit confidential material or claims you cannot support.