虚拟内存如何实现地址隔离,缺页与内存抖动又是怎样发生的
简答题中等473 次浏览
参考答案与解析
# 核心结论
虚拟内存为每个进程提供相对独立、连续的虚拟地址视图,再由页表把虚拟页映射到物理页、文件或交换区域。它既用于地址隔离和权限控制,也支持按需分配、共享映射、写时复制以及物理内存复用,并不只是“用磁盘扩充内存”。处理器访问虚拟地址时需要完成地址转换;如果映射不存在、权限不符或合法页面尚未驻留,就会触发异常,由操作系统判断能否修复。可修复的情况处理完成后继续执行,非法地址或权限违规通常会使进程收到 SIGSEGV 等信号。
# 底层机制
现代系统通常采用多级页表,避免为巨大而稀疏的虚拟地址空间预先分配完整映射。页表项可以记录物理页位置、有效状态、读写权限、用户态权限、访问状态和脏页状态。处理器使用地址转换缓存
