A virtual memory (VM) system offers the following benefits:
It presents a simple memory programming model to applications so that application developers need not know how the underlying memory hardware is arranged.
It allows processes to see linear ranges of bytes in their address space, regardless of the physical layout or fragmentation of the real memory.
It affords a programming model with a larger memory size than that of available physical storage (e.g., RAM) and enables the use of slower but larger secondary storage (e.g., disk) as a backing store to hold the pieces of memory that don't fit in physical memory.