虚拟内存作为缓存工具
从缓存的视角来看,虚拟内存将DRAM视为磁盘上虚拟地址空间的缓存。这个”缓存”具有与传统CPU缓存截然不同的特性。
虚拟页在系统中呈现三种状态:
- 未分配:虚拟页尚未被进程使用,不占用磁盘或内存空间,PTE为空。
- 已缓存:虚拟页当前存放在物理内存中,PTE有效位为1,PPN指向物理页帧。
- 未缓存:虚拟页已分配但不在物理内存中(被交换到磁盘),PTE有效位为0,指向磁盘位置。
从抽象层面理解,虚拟内存将主存视为一个存储在磁盘上的 N 字节连续数组的缓存。未分配的页不占用任何资源,已分配但未缓存的页占用磁盘空间,已缓存的页同时占用内存和磁盘空间。
DRAM缓存的特点:
- 巨大块大小(通常是4KB):利用空间局部性,减少缺页次数。
- 全相联映射:任意虚拟页可映射到任意物理页帧。
- 写回策略:修改的页在替换时才写回磁盘。
- 软件管理:缺页处理由操作系统软件完成(而非硬件)。
链接到
- 上一个知识点:9.5 分配页面
- 下一个知识点:9.7 虚拟内存作为内存管理工具