操作系统第 3 章:内存管理总览

这一页只负责导航,不装内容。每个节号点进去就是那一节的完整讲义。

第 3 章只回答一个问题:程序里写的地址,和它在内存条上实际待的位置,怎么对上。

主线是一条被问题推着走的演进链:

要求连续 → 外部碎片(3.1.2)→ 不要求连续,改用固定大小的页(3.1.3)→ 但不便共享保护 → 按逻辑分段(3.1.4)→ 外部碎片又回来了 → 两者叠加(3.1.5)→ 内存还是不够 → 干脆只装一部分(3.2)

每一节都是在解决上一节留下的问题。按这条链读,不需要背。

章节导航

3.1 内存管理概念 ✅

节页面一句话
3.1.1内存管理的基本原理和要求地址在编译时/装入时/访存时被固定,对应三种装入方式
3.1.2连续分配管理方式首次适应综合最好;索引搜索的本质是免去遍历
3.1.3基本分页存储管理TLB 存完整映射,命中率不需相乘;两个计算模板
3.1.4基本分段存储管理分页靠拼接、分段靠加法;一维 vs 二维
3.1.5段页式存储管理段可变长体现为页数不同;TLB:段号 + 段内页号 → 页框号

3.2 虚拟内存管理 ✅

节页面一句话
3.2.1虚拟内存的基本概念只能基于非连续分配;容量受”寻址范围”与”内外存之和”较小者限制
3.2.2请求分页管理方式缺页中断是故障,处理后重新执行原指令
3.2.3页框分配”固定分配全局置换”不存在(定义互相矛盾)
3.2.4页面置换算法改进型 Clock:把 (A,M) 当二进制数,从小到大
3.2.5抖动和工作集抖动是正反馈;先找瓶颈再谈优化
3.2.6页框回收配合 PBA 后 FIFO 性能可接近 LRU
3.2.7内存映射文件建立映射时不搬数据;文件映射页 vs 匿名页
3.2.8虚拟存储器性能影响因素缺页代价约为访存的 10⁵ 倍;程序写法影响可能最大

本章高频边界

边界判据在哪
静态重定位 vs 动态重定位地址在装入时改完,还是每次访存实时算3.1.1
谁需要地址变换机构位置是否永久固定3.1.1
内部碎片 vs 外部碎片这块空间是否已归属某进程3.1.2
顺序搜索 vs 索引搜索要不要遍历3.1.2
伙伴算法 vs 离散分配物理页框连续性 vs 进程逻辑离散,不同层3.1.2
TLB 命中率是否相乘不相乘,TLB 存完整映射3.1.3
分页 vs 分段六条对比;一维 vs 二维3.1.4
段可变长 vs 页框固定可变长体现为页数不同3.1.5
虚拟内存 vs 对换页粒度 vs 进程粒度3.2.1
缺页中断 vs 一般中断处理后重新执行原指令3.2.2
分配策略 vs 置换策略驻留集变不变 vs 从哪选;两个正交维度3.2.3
命中时是否更新记录FIFO 不更新,LRU/Clock 必须更新3.2.4
Belady 异常只有 FIFO 会;LRU/OPT 是栈算法3.2.4
抖动 vs 缺页率高看 CPU 利用率的走向3.2.5
工作集 vs 驻留集需求 vs 供给3.2.5
TLB 缺失 vs 缺页判据是存在位 P;代价差 10⁵ 倍3.2.8

计算模板

本章两类计算题,模板都在 3.1.3:

题型步骤
需要几级页表① 页内偏移位数 ② 页号总位数 ③ 一页装几个表项 = 每级消化位数 ④ 向上取整相除
平均访存次数① 命中 1 次、未命中 次 ② 按概率加权 ③ 检查落在
页置换手算① 画表,一列一次访问 ② 逐列判”在不在→满没满→淘汰谁” ③ 数缺页;注意命中时是否更新记录
有效访问时间 EAT;缺页代价约 倍

复习顺序

  1. 3.1.1:把”编译→链接→装入”和三种装入方式立住。这一节是全章的地基,动态重定位是后面一切的前提。
  2. 3.1.2:碎片概念在这里成型。重点是内部/外部碎片的判据和首次适应为什么反而最好。
  3. 3.1.3:本章计算题主战场。先掌握两个模板,再理解 TLB 为什么不能按级数相乘。
  4. 3.1.4:分段。六条对比表要能默写,尤其一维 vs 二维。
  5. 3.1.5:段页式。理解”段可变长体现为页数不同”这一句,其余是推论。
  6. 3.2.1:立住局部性原理与三个特征。“只能基于非连续分配”是高频真题。
  7. 3.2.2 → 3.2.3:缺页怎么处理、页框该分多少。注意缺页中断是”故障”、处理后重新执行原指令。
  8. 3.2.4:本节计算题主战场。先掌握手算三步法,再记五个算法; 改进型 Clock 用”(A,M) 当二进制数”记,A 是高位因为价值优先于代价。
  9. 3.2.5:抖动。理解正反馈机制,则所有措施题都能自己判断。
  10. 3.2.6 → 3.2.8:收尾。3.2.8 的”按行 vs 按列遍历差 1024 倍”值得记一辈子。

链接

  • 📖 名词库:第 3 章名词库
  • 📜 原始提问档案:第 3 章 原始提问档案(本地资料)(38 条,按节号归位)
  • ⬅️ 上一章:第 2 章:进程与线程
  • 🏗️ 重构施工文档:OS + 计组 笔记体系重构计划(本地资料)