外观
一句话答案
虚拟内存让每个进程拥有独立虚拟地址空间,通过页表映射物理内存,支持按需加载和进程隔离。
核心要点
核心机制:
- 页表:虚拟页→物理页帧的映射
- TLB:页表缓存(快表),加速地址翻译
- 缺页中断:访问未加载的页 → 从磁盘加载到内存
好处: 进程隔离 / 内存超分配 / 按需加载 / 内存保护
追问与易错
追问方向:
- 为什么能使用超过物理内存的空间?
- TLB 命中率怎么提升?
- 32 位虚拟地址空间多大?
易错点:
- ❌ 虚拟内存就是 swap——swap 只是一种后端
- ❌ 虚拟内存让程序变慢——TLB 命中时几乎无开销
💡 记忆锚点
虚拟内存像每个进程都有一套"虚拟门牌号":进程以为自己独占整栋楼(4GB地址空间),其实门牌号通过页表翻译成真实房间号(物理帧)。没住过的房间不分配(按需加载),进门时才去磁盘搬家具(缺页中断)。TLB是"门牌号翻译速查本",查一次几纳秒,不用每次翻大本页表。