Virtual Memory

Virtual Memory is an abstract memory that doesn’t necessary corresponds to the physical representation of the secondary storage such as Random Access Memory (RAM). This means that virtual memory of a program can theoretically larger than the physical memory. Virtual memory will map a physical address to the RAM into the program address space (usually in a table #data-structure ), where it will be translated whenever the program requests to access its memory.

Swap, a partition or a file in tertiary storage (HDD and SSD), will be used when there are not enough available pages in physical memory for the mapping of the program’s virtual memory.

Although #operating-system can provide some support for it, it is mainly coming from hardware such as second chip, discrete logic and memory management unit (MMU) in CPU so that it can yield realistic performance.

#memory #hardware #data-structure #operating-system