CSS 430 Book Notes Chapter 10 Virtual Memory
10.1 Background
Virtual Memory is a technique that allows the execution of processes that are not completely in memory. A major advantage of this is that programs can be larger than physical memory. Virtual Memory abstracts main memory into an extremely large, uniform array of storage, separating logical memory from physical memory. Using this, programmers are freed from the concerns of memory-storage limitations.
Virtual memory also allows processes to share files and libraries and to implement shared memory. It also provides an efficient mechanism for process creation.
Unfortunately, virtual memory is not easy to implement and may decrease performance if used carelessly.
Virtual Memory involves the separation of logicical memory as perceived by developers from physical memory. This separation allows an extremely large virtual memory to be accessed by programmers when only a smaller physical memory is available.
The virtual address space of a process refers to the logical(or virtual) view of how a process is stored in memory.