虚拟内存作为缓存工具

从缓存的视角来看,虚拟内存将DRAM视为磁盘上虚拟地址空间的缓存。这个”缓存”具有与传统CPU缓存截然不同的特性。

虚拟页在系统中呈现三种状态:

  • 未分配:虚拟页尚未被进程使用,不占用磁盘或内存空间,PTE为空。
  • 已缓存:虚拟页当前存放在物理内存中,PTE有效位为1,PPN指向物理页帧。
  • 未缓存:虚拟页已分配但不在物理内存中(被交换到磁盘),PTE有效位为0,指向磁盘位置。

从抽象层面理解,虚拟内存将主存视为一个存储在磁盘上的 N 字节连续数组的缓存。未分配的页不占用任何资源,已分配但未缓存的页占用磁盘空间,已缓存的页同时占用内存和磁盘空间。

DRAM缓存的特点

  • 巨大块大小(通常是4KB):利用空间局部性,减少缺页次数。
  • 全相联映射:任意虚拟页可映射到任意物理页帧。
  • 写回策略:修改的页在替换时才写回磁盘。
  • 软件管理:缺页处理由操作系统软件完成(而非硬件)。

链接到