Virtual Memory

Last Edited



Definition of Virtual Memory in Network Encyclopedia.

What is Virtual Memory?

Virtual Memory is a mechanism by which applications function as though the system has more RAM than it actually does. Virtual memory operates by paging unneeded code to a file on the hard drive called the swap file or page file.

Virtual Memory
Virtual Memory

How Virtual Memory Works in Windows

In Microsoft Windows Operating Systems, the Virtual Memory Manager maps the virtual addresses belonging to the address space of a running process to physical pages of memory in the computer.

This ensures that each process has sufficient virtual memory to run efficiently and does not trespass on the memory of other processes. The Virtual Memory Manager handles paging between RAM and the page file, swapping pages by using a process called demand paging.

The result is that each application has access to up to 4 GB of memory. A similar process in older versions of Windows like Microsoft Windows 95 and Windows 98 uses a comparable structure called the swap file.

Since Microsoft Windows 2000, you can use the System Properties property page to change the maximum size of the page file.

Advantages of using virtual memory

Among the primary benefits of virtual memory is its ability to handle twice as many addresses as main memory. It uses software to consume more memory by using the HDD as temporary storage while MMUs translate virtual memory addresses to physical addresses via the CPU. Programs use virtual addresses to store instructions and data; when a program is executed, the virtual addresses are converted into actual memory addresses.

Managing Virtual Memory (Pagefile) In Windows 10

Pagefile in Windows 10 is a hidden system file with the .SYS extension that is stored on your computer’s system drive (usually C:). The Pagefile allows the computer to perform smoothly by reducing the workload of the physical memory, or RAM.

Simply put, every time you open more applications than the RAM on your PC can accommodate, the programs already present in the RAM are automatically transferred to the Pagefile. This process is technically called Paging. Because the Pagefile works as a secondary RAM, many times it is also referred to as Virtual Memory.

The minimum and maximum size of the Pagefile can be up to 1.5 times and 4 times of the physical memory that your computer has, respectively. For example, if your computer has 1GB of RAM, the minimum Pagefile size can be 1.5GB, and the maximum size of the file can be 4GB.

By default, Windows 10 automatically manages the Pagefile according to your computer’s configuration and the RAM present in it. However, if you ever face lagging while working on Windows 10, or you start getting the PAGE_FAULT_IN_NONPAGED_AREA or KERNEL_DATA_INPAGE_ERROR Blue Screen of Death (BSOD), managing the size of the Pagefile manually is the first thing you should look for.

Managing the Pagefile size manually in Windows 10 is simple. Here is how:,36929.html

Virtual Memory History

The concept of virtual memory was first developed by German physicist Fritz-Rudolf Güntsch at the Technische Universität Berlin in 1956 in his doctoral thesis, Logical Design of a Digital Computer with Multiple Asynchronous Rotating Drums and Automatic High Speed Memory Operation; it described a machine with 6 100-word blocks of primary core memory and an address space of 1,000 100-word blocks, with hardware automatically moving blocks between primary memory and secondary drum memory.

Paging was first implemented at the University of Manchester as a way to extend the Atlas Computer’s working memory by combining its 16,384 words of primary core memory with an additional 98,304 words of secondary drum memory. The first Atlas was commissioned in 1962 but working prototypes of paging had been developed by 1959.

In 1961, the Burroughs Corporation independently released the first commercial computer with virtual memory, the B5000, with segmentation rather than paging.

Before virtual memory could be implemented in mainstream operating systems, many problems had to be addressed. Dynamic address translation required expensive and difficult-to-build specialized hardware; initial implementations slowed down access to memory slightly. There were worries that new system-wide algorithms utilizing secondary storage would be less effective than previously used application-specific algorithms. By 1969, the debate over virtual memory for commercial computers was over; an IBM research team led by David Sayre showed that their virtual memory overlay system consistently worked better than the best manually controlled systems. (Virtual Memory History on Wikipedia)

Web References