虚拟内存如何实现地址隔离,缺页与内存回收又会怎样影响性能
简答题困难352 次浏览
参考答案与解析
# 核心结论
虚拟内存让每个进程看到连续且相对私有的地址空间,再由处理器和操作系统把虚拟页映射到物理页、文件或交换空间。它不仅提供地址隔离,还承担权限控制、按需分配、共享映射、程序装载和写时复制等职责。虚拟地址空间很大不代表已经占用同等物理内存,内存申请成功也不保证后续首次访问必然成功。诊断问题时必须区分虚拟内存、已提交内存、驻留内存、共享页和可回收页面。
# 底层机制
处理器中的内存管理单元依据页表完成虚拟地址到物理地址的转换。页表项除了记录物理页号,还保存可读、可写、可执行及用户态是否可访问等权限。为避免每次访存都遍历多级页表,处理器使用地址转换缓存保存近期结果;映射频繁变化、上下文切换或工作集过大都会降低命中率。
