"Virtual memory
From Wikipedia, the free encyclopedia.
Jump to: navigation, search
The memory pages of the virtual address space seen by the process, may reside non-contiguously in primary, or even secondary storage.
Enlarge
The memory pages of the virtual address space seen by the process, may reside non-contiguously in primary, or even secondary storage.
Virtual memory or virtual memory addressing is a memory management technique, used by multitasking computer operating systems wherein non-contiguous memory is presented to a software application (aka process) as contiguous memory. The contiguous memory is referred to as the virtual address space.
Virtual memory addressing is typically used in paged memory systems. This in turn is often combined with memory swapping, whereby memory pages stored in primary storage are written to secondary storage, thus freeing faster primary storage for other processes to use.
The term "virtual memory" is often confused with "memory swapping" (or "page/swap file" use), probably due in part to the prolific Microsoft Windows family of operating systems referring to the enabling/disabling of memory swapping as virtual memory. In fact, Windows uses paged memory and virtual memory addressing, even if the so called "virtual memory" is disabled.
In technical terms, virtual memory allows software to run in a memory address space whose size and addressing are not necessarily tied to the computer's physical memory. To properly implement virtual memory the CPU (or a device attatched to it) must provide a way for the operating system to map virtual memory to physical memory and for it to detect when an address is required that does not currently relate to main memory so that the needed data can be swapped in. While it would certainly be possible to provide virtual memory without the CPU's assistance it would essentially require emulating a CPU that did provide the needed features."
Described by the Wikipedia. The rest of the article is here.
http://en.wikipedia.org/wiki/Virtual_memory
Sorry I can't get the quote or http hot link to work.