2026/3/23课程博客 操作系统复习整理-第四章 存储器管理
操作系统复习 - 第四章 存储器管理
4.1 程序运行三大步骤
编译 → 链接 → 装入
-
编译:源程序编译为若干目标模块;
-
链接:目标模块+系统库整合为装入模块;
-
装入:将装入模块加载至内存运行。
4.2 程序装入方式
-
绝对装入:编译时确定内存地址,生成绝对地址代码;
-
可重定位装入(静态重定位):装入时一次性完成地址转换,运行中地址不再改变;
-
动态运行时装入:运行过程中可改变内存位置,地址始终为相对地址。
4.3 程序链接方式
-
静态链接:运行前完成链接,链接后不可拆分;
-
装入时动态链接:边装入、边链接,便于模块修改与共享;
-
运行时动态链接:程序运行过程中按需链接,节省内存。
4.4 连续分配存储管理
4.4.1 分类
单一连续分配、固定分区分配、动态分区分配。
4.4.2 动态分区分配算法(基于顺序搜索)
| 算法 | 排序规则 | 优点 | 缺点 |
|---|---|---|---|
| 首次适应(FF) | 空闲分区按地址递增排列 | 开销小,综合性能最优 | 低地址易产生碎片 |
| 最佳适应(BF) | 空闲分区按容量递增排列 | 保留大分区,适配大作业 | 产生大量微小碎片,开销大 |
| 最坏适应(WF) | 空闲分区按容量递减排列 | 减少小碎片 | 大分区易被耗尽 |
| 邻近适应(NF) | 地址递增,循环查找 | 无需从头检索 | 高地址大分区逐步耗尽 |
4.4.3 紧凑(拼凑)
移动内存作业,拼接分散小分区为连续大分区,解决外部碎片,会产生系统开销。
4.4.4 对换
内外存之间调度进程/数据,腾挪内存空间。
4.5 离散分配存储管理
4.5.1 分页存储管理
- 基本原理
- 逻辑空间:划分为固定大小页;
- 物理内存:划分为等大页框(物理块);
- 页表:记录逻辑页与物理页框的映射关系。
-
地址结构:逻辑地址 = 页号(P) + 页内偏移(d);物理地址 = 页框号 + 页内偏移。
-
地址转换:由MMU硬件完成,页面可离散存放。
4.5.2 快表(TLB)
-
位置:CPU内部高速缓存,缓存常用页表项;
-
访问流程:优先查快表 → 命中则直接访问内存;未命中则查询内存页表,同时更新快表;
-
有效存取时间(EAT)公式:设命中率α,TLB访问时间t,内存访问时间m
EAT = t + (2-α) * m
4.5.3 两级页表 & 反置页表
-
两级页表:将页表分页,按需调入内存,节省内存;
-
反置页表:缩减页表占用的内存空间。
4.5.4 分段存储管理
-
基本原理:按程序逻辑划分段(代码段、数据段、栈段),段长不固定;
-
地址结构:二维地址 = 段号(S) + 段内偏移(d);
-
段表:记录段基地址、段长,做越界检查;
-
缺点:产生外部碎片。
4.5.5 段页式存储管理
-
原理:先分段、再分页,结合分段+分页优势;
-
地址划分:面向用户为段式,面向物理内存为页式;
-
地址结构:三维(段号、页号、页内偏移)。
4.6 存储器管理四大功能
内存分配、地址映射、内存保护、内存扩充。
4.7 计算机存储层次(速度从高→低,容量从小到大)
寄存器 → 高速缓存 → 主存(内存)→ 磁盘缓存 → 辅存(磁盘)→ 可移动存储介质

浙公网安备 33010602011771号