Chapter9 Virtual Memory
Processes in a system share the CPU and main memory with other processes.
In order to manage memory more efficiently and with fewer errors, modern systems provide an abstraction of main memory known as virtual memory.
There are several reasons for understanding virtual memory:
- Virtual memory is central.
- Virtual memory is powerful.
- Vitual memory is dangerous.
9.1 Physical and Virtual Addressing
Address translation requires close cooperation between the CPU hardware and the operating system.
9.2 Address Spaces
The concept of an address space is important because it makes a clean distinction between data object(bytes) and their attributes(address). Once we recognize this distinction, then we can generalize and allow each data object to have multiple independent addresses, each chosen from a different address space.This is the basic idea of virtual memory. Each byte of main memory has a virtual address chosen from the virtual address space, and a physical address chosen from the physical address space.