virtual memory

Also found in: Dictionary, Thesaurus, Medical, Acronyms, Wikipedia.
Related to virtual memory: cache memory

virtual memory

[′vər·chə·wəl ′mem·rē]
(computer science)
A combination of primary and secondary memories that can be treated as a single memory by programmers because the computer itself translates a program or virtual address to the actual hardware address.
McGraw-Hill Dictionary of Scientific & Technical Terms, 6E, Copyright © 2003 by The McGraw-Hill Companies, Inc.

virtual memory

(memory management)
A system allowing a computer program to behave as though the computer's memory was larger than the actual physical RAM. The excess is stored on hard disk and copied to RAM as required.

Virtual memory is usually much larger than physical memory, making it possible to run programs for which the total code plus data size is greater than the amount of RAM available. This is known as "demand paged virtual memory". A page is copied from disk to RAM ("paged in") when an attempt is made to access it and it is not already present. This paging is performed automatically by collaboration between the CPU, the memory management unit (MMU), and the operating system kernel. The program is unaware of virtual memory, it just sees a large address space, only part of which corresponds to physical memory at any instant.

The virtual address space is divided into pages. Each virtual address output by the CPU is split into a (virtual) page number (the most significant bits) and an offset within the page (the N least significant bits). Each page thus contains 2^N bytes (or whatever the unit of addressing is). The offset is left unchanged and the memory management unit (MMU) maps the virtual page number to a physical page number. This is recombined with the offset to give a physical address - a location in physical memory (RAM).

The performance of a program will depend dramatically on how its memory access pattern interacts with the paging scheme. If accesses exhibit a lot of locality of reference, i.e. each access tends to be close to previous accesses, the performance will be better than if accesses are randomly distributed over the program's address space thus requiring more paging.

In a multitasking system, physical memory may contain pages belonging to several programs. Without demand paging, an OS would need to allocate physical memory for the whole of every active program and its data. Such a system might still use an MMU so that each program could be located at the same virtual address and not require run-time relocation. Thus virtual addressing does not necessarily imply the existence of virtual memory. Similarly, a multitasking system might load the whole program and its data into physical memory when it is to be executed and copy it all out to disk when its timeslice expired. Such "swapping" does not imply virtual memory and is less efficient than paging.

Some application programs implement virtual memory wholly in software, by translating every virtual memory access into a file access, but efficient virtual memory requires hardware and operating system support.
This article is provided by FOLDOC - Free Online Dictionary of Computing (

virtual memory

Simulating more random access memory (RAM) than actually exists, which allows the computer to run larger programs as well as multiple programs concurrently. Actually developed back in the 1950s, virtual memory uses storage (HDD/SSD) to temporarily hold parts of the program that are in RAM. Because there is always more storage space than RAM space, virtual memory increases the computer's capacity to do work.

Hardware Is Required
All modern CPUs have memory management units (MMUs) that support virtual memory. They provide "page tables" that are used to translate between the program's "virtual" addresses and the "real" addresses in RAM and storage, which are constantly changing. Although a program initially loads as a contiguous block of code, it may wind up scattered around RAM. See Windows swap file.

Not a Virtual Machine
Virtual memory was the first use of the "virtual" term, and it meant "simulated." Another common simulation technology is the "virtual machine." However, "virtual memory" and "virtual machine" are different. Virtual memory operates in every computer, but a virtual machine is an optional technology widely used for running applications in datacenter servers. See virtual, virtual machine and cloud computing.

Memory Is Extended to Storage
The computer's RAM is divided into "pages," typically 4KB in size. When RAM fills up, pages not currently in use by open programs are written to storage in a "swap file." When instructions in a swapped out page are required again, some other page in RAM is written to storage to make room (see below).

Page Out, Page In
When real memory (RAM) is full and the current program needs instructions that are not in RAM, pages are swapped. In this example, program A needs a page from the disk, and a page from program C is swapped out to make room.
Copyright © 1981-2019 by The Computer Language Company Inc. All Rights reserved. THIS DEFINITION IS FOR PERSONAL USE ONLY. All other reproduction is strictly prohibited without permission from the publisher.
References in periodicals archive ?
Literature [19] brings a two-layer address space mechanism and constructs a virtual memory optimization frame of crossing multi-physical machines.
Emulated programs act as though they are running on an x86 computer and operate within the 2 GB of virtual memory that a 32-b version of Windows allocates to every process.
The remaining relatively flat portion corresponds to the performance of computations using main memory and the final drop off corresponds to using virtual memory and hence accessing disk.
We extend the communication system to support (in NI firmware) a remote fetch operation to fetch data from arbitrary exported remote locations in virtual memory to arbitrary addresses in local virtual memory.
An analogous distinction plays a critical role in the organization of virtual memory computer systems.
HARDWARE AND SOFTWARE REQUIREMENTS: Software minimum: DOS 5.0 or Windows 3.1 with 4MB virtual memory swapfile.
The systems requirements, he said, are a Macintosh with a 6S020 or higher central processing unit, System Software 7.0.1, four megabytes of random-access memory and eight more of virtual memory, Superdrive that can read high density disks, hard drive with at least 10 megabytes and Photoshop software.
Virtual memory. Several operating systems, such as MS-DOS/Windows and System 7, offer expanded working memory by using a portion of the hard drive.
* Work with files * Use MultiFinder * Print * Use networking and communications * Use expansion devices * Select INITs, cdevs and other system extensions * Select application programs * Use HyperCard * Use the Font/DA mover * Understand disk safety and virus protection * Use System 7 including virtual memory and sounds.
The speed of hidden-line removal has been increased through the use of virtual memory. In addition, new search algorithms have been added to improve the response time of entity selection, object snapping, and entity display.
It can address huge amounts of chip-based memory and offers virtual memory, in which the hard disk serves as extra RAM, as well.

Full browser ?