Definition
The term Virtual Memory can also be termed as separation of user logical memory from physical memory.
Term Virtual Memory refers to abstraction of seperating Logical Memory from Physical Memory.
Logical memory – memory as seen by the process.
Physical memory – memory as seen by the processor.
Only part of the program needs to be in memory for execution. Logical address space can therefore be much larger than physical address space
Allows address spaces to be shared by several processes. Allows for more efficient process creation.
The other defintion for Virtual Memory is the Technique for using disks to extend the apparent size of physical memory beyond it’s actual physical size.
Virtual Memory when implemented by a computer and its Operating System, allows programmers to use a very large range of memory or storage address for stored data.
Virtual Memory is automatic address translation that provides :
- Decoupling of program’s “name space” from physical location
- Provides access to name space potentially greater in size than physical memory
- Expandability of used name space without reallocation of existing memory
- Protection from interference with name space by other tasks
Components that make virtual memory work include :
- Physical memory divided up into pages
- A swap device (typically a disk) that holds pages not resident in physical memory (that’s why it’s referred to as backing store as well)
- Address translation
– Page tables to hold virtual-to-physical address mappings
– Translation lookaside buffer is cache of translation information
- Management software in the operating system.
Virtual Memory allows for effective multiprogramming and relieves the user of tight constraints of main memory