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”.
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.
The primary benefits of virtual memory include freeing applications from having to manage a shared memory space, increased security due to memory isolation, and being able to conceptually use more memory than might be phsically available, using the technique of paging.
Virtual memory is an integral part of modern computer architechture; implementations usually require hardware support, typically in the form of a memory management unit built into the CPU.
During the 1960s and early 70s, comuter memory was very expensive. The introduction of virtual memory provided an ability for software systems with large memory demands to run on computers with less real memory.
Modern operating systems that support virtual memory also run each process in its own dedicated address space.
从上文可知,想要进一步理解virtual memory,需要先了解:
Nearly all current implementations of virtual memory divide a virtual address space into pages, blocks of contiguous virtual memory addresses.
Pages on contemporary systems are usually at least 4 kilobytes in size, systems with large virtual address ranges or amounts of real memory generally use larger page sizes.