| 项目 | 值 |
|---|---|
| 逻辑地址 | CPU 生成的地址(虚拟地址),从 0 开始编址 |
| 物理地址 | 内存中的实际地址(硬件地址) |
| 地址转换 | 由 MMU(内存管理单元)完成 |
| 地址空间 | 逻辑地址空间 $\geq$ 物理地址空间(虚拟内存) |
| 对比项 | 逻辑地址 | 物理地址 |
|---|---|---|
| 生成者 | CPU | — |
| 编址起点 | 从 0 开始 | 实际内存起始 |
| 独立性 | 每个进程独立 | 全局唯一 |
| 可见性 | 程序员 / 编译器可见 | 对程序员透明 |
| 转换 | 由 MMU 转换 | — |
| 考法 | 解题套路 |
|---|---|
| 地址转换 | 页式:页号查页表得物理块号,拼偏移得物理地址 |
| 逻辑地址空间大小 | 由地址位数决定:$n$ 位 $\to 2^{n}$ 个地址 |
| 物理地址计算 | 物理地址 $=$ 物理块号 $\times$ 页大小 $+$ 页内偏移 |
| 为什么要虚拟地址 | 进程隔离、虚拟内存、简化编程 |
↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。