引言

进程与其他进程共享CPU和主存的。

为了更加有效的管理内存并且少出错,因此提供了虚拟内存的能力。

虚拟内存三个特点:

  1. 为每个进程提供了一致的地址空间,简化内存管理
  2. 防止地址空间被其他进程破坏
  3. 只保存活动区域的内存,提高了主存的使用效率

1. 物理和虚拟寻址

计算机系统的主存被组织成一个由 M 个连续的字节大小的单元组成的数组。每字节都有一个唯一 的物理地址。

image.png

图 9-1 展示了一个物理寻址的示例,该示例的上下文是一条加载指令,它读取从物理地址 4 处开始的 4 字节字。

image.png

虚拟寻址:对于一个虚拟地址,根据CPU上的内存管理单元MMU进行地址翻译成物理地址,然后再物理寻址。

3. 虚拟内存作为缓存的工具

虚拟内存被组织为一个由存放在磁盘上的 JV 个连续的字节大小的单元 组成的数组。

和存储器层次结构中其他缓存一样,磁盘(较低层)上的数据被分割成块,这些块作为磁盘和主存(较高层)之间的传输单元。

VM 系统通过将虚拟内存分割为称为虚拟页(Virtual Page, VP)的大小固定的块。

虚拟页面的集合都分为三个不相交的子集