虚拟内存(Virtual Memory)是操作系统中那个躲在衣柜里的“怪物”——它复杂、细节繁多,但理解它对于掌握系统如何工作至关重要。
本章内容涵盖了从基本的 基址/界限(Base and Bounds) 技术到现代全功能虚拟内存管理程序的演进。
核心思想在于抽象(Abstraction):操作系统为每个进程提供了一个假象,即它拥有自己独立的、巨大的、连续的私有内存空间(即地址空间)。用户程序中生成的每一个地址实际上都是虚拟地址。
通过硬件(如 TLB,Translation Lookaside Buffer)和操作系统的紧密协作,这些虚拟地址被转换为真实的物理地址。这种机制不仅让编程变得更加容易(无需担心物理内存的具体位置),还提供了关键的隔离(Isolation)和保护(Protection),防止错误程序破坏其他程序或操作系统的内存。
我们还将深入探讨页表(Page Tables)的设计——从简单的线性数组到复杂的多级页表,以及当物理内存不足时如何利用磁盘进行交换(Swap)。理解这些机制(Mechanisms)比单纯记忆策略(Policies,如 LRU)更为重要,因为建立正确的心理模型(Mental Model)能帮助你诊断性能问题(比如为什么 TLB 未命中会导致程序变慢)。
- 第 13 章 抽象:地址空间 (2026-02-18)
- 第 14 章 插叙:内存操作 API (2026-02-23)
- 第 15 章 机制:地址转换 (2026-02-23)
- 第 16 章 分段 (2026-02-23)
- 第 17 章 空闲空间管理 (2026-02-23)
- 第 18 章 分页:介绍 (2026-02-23)
- 第 19 章 分页:快速地址转换(TLB) (2026-02-23)
- 第 20 章 分页:较小的表 (2026-02-23)
- 第 21 章 超越物理内存:机制 (2026-02-23)
- 第 22 章 超越物理内存:策略 (2026-02-24)
- 第 23 章 VAX/VMS 虚拟内存系统 (2026-02-24)