408 知识网络

缺页 → 置换算法

操作系统

所属模块:OS-5/6 内存管理与虚拟内存 · 本模块第 9 / 19 个概念

在「OS-5/6 内存管理与虚拟内存」概念体系中的位置

flowchart TD
    A["多道程序:多进程同时驻留"] --> B["连续分配<br/>单一 / 固定分区 / 动态分区"]
    B --> C["碎片问题<br/>外部碎片 → 紧凑(要重定位)"]
    C --> D["离散分配:分页<br/>固定大小、无外部碎片"]
    C --> E["离散分配:分段<br/>按逻辑单位、便共享保护"]
    D & E --> F["段页式:先分段再分页"]
    D --> G["页表太大 → 多级页表"]
    D --> H["部分装入成为可能<br/>→ 请求分页(虚拟内存)"]
    H --> I["缺页 → 置换算法"]
    I --> J["置换过于频繁 → 抖动"]
    J --> K["工作集模型<br/>驻留集 ≥ 工作集"]

核心概念:

概念 要点 易考点
逻辑/物理地址 编译产生逻辑地址,运行时经重定位映射为物理地址 静态重定位(装入时一次改完)vs 动态重定位(重定位寄存器,运行时可移动)
内部碎片 分给进程的块内部用不完(固定分区、分页的最后一页) 分页有内部碎片(≤ 一页)、无外部碎片
外部碎片 空闲区总量够但不连续装不下(动态分区、分段) 紧凑可消除但要动态重定位支持
页 vs 段 页:定长、信息的物理划分、用户不可见;段:变长、逻辑单位(代码/数据/栈)、用户可见 分段地址是二维的(段号+段内偏移),分页是一维
页表项 页框号 + 有效位 + 访问位 A + 修改位 M + 保护位 A/M 为置换算法服务(改进 Clock 四类)
虚拟内存 基于局部性,只装入部分页面即可运行;特征:多次性、对换性、虚拟性 容量 = min(内存+外存,地址位数决定的最大空间)
驻留集 / 工作集 分给进程的页框集合 / 窗口 Δ\Delta 内实际访问的页面集合 工作集 > 驻留集 → 抖动(2016 年 29 题考窗口法求工作集)
抖动 thrashing 页面频繁换入换出,CPU 利用率骤降 对策:撤销部分进程(2011 年 29 题)