2026/3/23课程博客 操作系统复习整理-第四章 存储器管理

操作系统复习 - 第四章 存储器管理

4.1 程序运行三大步骤

编译 → 链接 → 装入

  1. 编译:源程序编译为若干目标模块;

  2. 链接:目标模块+系统库整合为装入模块;

  3. 装入:将装入模块加载至内存运行。

4.2 程序装入方式

  1. 绝对装入:编译时确定内存地址,生成绝对地址代码;

  2. 可重定位装入(静态重定位):装入时一次性完成地址转换,运行中地址不再改变;

  3. 动态运行时装入:运行过程中可改变内存位置,地址始终为相对地址。

4.3 程序链接方式

  1. 静态链接:运行前完成链接,链接后不可拆分;

  2. 装入时动态链接:边装入、边链接,便于模块修改与共享;

  3. 运行时动态链接:程序运行过程中按需链接,节省内存。

4.4 连续分配存储管理

4.4.1 分类

单一连续分配、固定分区分配、动态分区分配。

4.4.2 动态分区分配算法(基于顺序搜索)

算法 排序规则 优点 缺点
首次适应(FF) 空闲分区按地址递增排列 开销小,综合性能最优 低地址易产生碎片
最佳适应(BF) 空闲分区按容量递增排列 保留大分区,适配大作业 产生大量微小碎片,开销大
最坏适应(WF) 空闲分区按容量递减排列 减少小碎片 大分区易被耗尽
邻近适应(NF) 地址递增,循环查找 无需从头检索 高地址大分区逐步耗尽

4.4.3 紧凑(拼凑)

移动内存作业,拼接分散小分区为连续大分区,解决外部碎片,会产生系统开销。

4.4.4 对换

内外存之间调度进程/数据,腾挪内存空间。

4.5 离散分配存储管理

4.5.1 分页存储管理

  1. 基本原理
  • 逻辑空间:划分为固定大小
  • 物理内存:划分为等大页框(物理块)
  • 页表:记录逻辑页与物理页框的映射关系。
  1. 地址结构:逻辑地址 = 页号(P) + 页内偏移(d);物理地址 = 页框号 + 页内偏移。

  2. 地址转换:由MMU硬件完成,页面可离散存放。

4.5.2 快表(TLB)

  1. 位置:CPU内部高速缓存,缓存常用页表项;

  2. 访问流程:优先查快表 → 命中则直接访问内存;未命中则查询内存页表,同时更新快表;

  3. 有效存取时间(EAT)公式:设命中率α,TLB访问时间t,内存访问时间m
    EAT = t + (2-α) * m

4.5.3 两级页表 & 反置页表

  1. 两级页表:将页表分页,按需调入内存,节省内存;

  2. 反置页表:缩减页表占用的内存空间。

4.5.4 分段存储管理

  1. 基本原理:按程序逻辑划分段(代码段、数据段、栈段),段长不固定;

  2. 地址结构:二维地址 = 段号(S) + 段内偏移(d);

  3. 段表:记录段基地址、段长,做越界检查;

  4. 缺点:产生外部碎片

4.5.5 段页式存储管理

  1. 原理:先分段、再分页,结合分段+分页优势;

  2. 地址划分:面向用户为段式,面向物理内存为页式;

  3. 地址结构:三维(段号、页号、页内偏移)。

4.6 存储器管理四大功能

内存分配、地址映射、内存保护、内存扩充。

4.7 计算机存储层次(速度从高→低,容量从小到大)

寄存器 → 高速缓存 → 主存(内存)→ 磁盘缓存 → 辅存(磁盘)→ 可移动存储介质

posted @ 2026-06-22 20:47  Moonbeamsc  阅读(17)  评论(0)    收藏  举报
返回顶端