CSS 430 Book Notes Chapter 10 Virtual Memory

CSS 430 Book Notes

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.
Pasted image 20230220213240.png

The virtual address space of a process refers to the logical(or virtual) view of how a process is stored in memory.

Virtual address space of a process in memory

Pasted image 20230220213402.png

Shared library using virtual memory

Pasted image 20230220213457.png