In computing, virtual memory is a memory management technique developed for multitasking kernels. This technique virtualizes a computer architecture's various hardware memory devices (such as RAM modules and disk storage drives), allowing a program to be designed as though:

1. there is only one hardware memory device and this "virtual" device acts like a RAM module.
2. the program has, by default, sole access to this virtual RAM module as the basis for a contiguous working memory (an address space).