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.