操作系统 · 主观题 · 第 32 题
计算机基础面试八股 · 第 32 题
什么是虚拟内存?分页机制是如何把虚拟地址转换为物理地址的?
参考答案
1. 虚拟内存给每个进程一个独立、连续的地址空间,由操作系统和 MMU 映射到物理内存或磁盘。作用:进程隔离与保护;程序可以比物理内存大(按需调页);简化链接与加载;方便共享(如共享库、写时复制)。
2. 分页:把虚拟空间和物理内存都切成固定大小的页(常见 4KB)。虚拟地址 = 虚拟页号 + 页内偏移。
3. 转换:MMU 先查 TLB;未命中就查页表(x86-64 为四级甚至五级页表)得到物理页框号,与页内偏移拼成物理地址,并把结果放进 TLB。
4. 页表项里的有效位为 0 时触发缺页异常,内核调入页面(必要时按 LRU 近似算法如 Clock 置换),再重新执行指令。
5. 页表项还有读写执行权限、脏位、访问位等,用于保护和置换。
解析
答出地址结构、TLB、多级页表、缺页四个点即可。