<P> In computing, virtual memory (also 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 ." </P> <P> 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 or 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 . </P>

Where is data stored when it is in virtual memory