Virtual memory is used to increase the available address space that processes can use by providing them with the illusion of a large, private main memory that is actually implemented on slower memory hardware that is shared by multiple proceses.
- Provides the ability to run programs larger than main memory.
- Hides differences in machine configuration from processes.