The term "virtual memory" is often confused with "memory swapping" (or "page/swap file" use), probably due in part to the Microsoft Windows family of operating systems referring to the enabling/disabling of memory swapping as virtual memory.[citation needed] 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 attached 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.