| 项目 | 值 |
|---|---|
| 定义 | 为进程分配一块连续的内存空间 |
| 分类 | 单一连续、固定分区、动态分区、动态重定位分区 |
| 碎片问题 | 内碎片(固定分区)、外碎片(动态分区) |
| 解决碎片 | 紧凑/压缩(compaction) |
连续分配方式要求每个进程占用一块连续的内存空间。
四种连续分配方式:
动态分区分配算法:
| 算法 | 策略 | 特点 |
|---|---|---|
| 首次适应(FF) | 从头找第一个够大的空闲区 | 简单,低地址碎片多 |
| 最佳适应(BF) | 找最小的够大空闲区 | 产生最多小碎片 |
| 最坏适应(WF) | 找最大的空闲区 | 大空闲区被分割 |
| 邻近适应(NF) | 从上次位置继续找 | 分布均匀 |
| 分配方式 | 内碎片 | 外碎片 | 多道程序 |
|---|---|---|---|
| 单一连续 | 有 | 无 | 不支持 |
| 固定分区 | 有 | 无 | 支持 |
| 动态分区 | 无 | 有 | 支持 |
| 动态重定位 | 无 | 有(可紧凑消除) | 支持 |
| 考法 | 解题套路 |
|---|---|
| 内碎片 vs 外碎片 | 内碎片:分区内未用空间;外碎片:分区间的小空闲区 |
| 分配算法比较 | FF简单,BF碎片多,WF大区分割,NF分布均匀 |
| 紧凑(compaction) | 将进程移到一起,消除外碎片——开销大 |
| 基址寄存器作用 | 地址转换:物理地址 = 逻辑地址 + 基址 |
↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。