Term:Virtual Memory« Back to Glossary Index
Virtual memory is simply the operating system using some amount of disk space as if it were real RAM, or memory.
Exactly how virtual memory is implemented is complex, but as an over-simplification:
Remember that the operating system itself is just a program; it needs memory too. It can allocate memory to itself, and its memory may get swapped out to disk as other needs arise.
(This is an excerpt from the lengthier Ask Leo! article: What is Virtual Memory?)
In computing, virtual memory, or virtual storage is a memory management technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine" which "creates the illusion to users of a very large (main) memory".
The computer's operating system, using a combination of hardware and software, maps memory addresses used by a program, called virtual addresses, into physical addresses in computer memory. Main storage, as seen by a process or task, appears as a contiguous address space or collection of contiguous segments. The operating system manages virtual address spaces and the assignment of real memory to virtual memory. Address translation hardware in the CPU, often referred to as a memory management unit (MMU), automatically translates virtual addresses to physical addresses. Software within the operating system may extend these capabilities to provide a virtual address space that can exceed the capacity of real memory and thus reference more memory than is physically present in the computer.
The primary benefits of virtual memory include freeing applications from having to manage a shared memory space, ability to share memory used by libraries between processes, increased security due to memory isolation, and being able to conceptually use more memory than might be physically available, using the technique of paging or segmentation.