操作系统笔记-3.1.1.4 (选修)覆盖与交换

王道操作系统笔记,视频链接:3.1.1.4 (选修)覆盖与交换

知识总览

  1. 内存管理的概念:
    • 内存空间的分配与回收
    • 内存空间的扩充
      • 覆盖技术(该小节内容)
      • 交换技术(该小节内容)
      • 虚拟存储技术
    • 地址转换
    • 存储保护

覆盖技术

  1. 早期的计算机内存很小,因此经常会出现内存大小不够的情况。

    • 比如 IBM 推出的第一台PC机最大只支持 1MB 大小的内存。
  2. 后来人们引入了覆盖技术 ,用来解决"程序大小超过物理内存总和"的问题

    • 覆盖技术的思想:将程序分为多个段(多个模块)。常用的段常驻内存,不常用的段在需要时调入内存。
    • 内存中分为一个"固定区"和若干个"覆盖区"。
    • 需要常驻内存的段放在"固定区 "中,调入后就不再调出(除非运行结束)
    • 不常用的段放在"覆盖区 ",需要用到时调入内存 ,用不到时调出内存
    • 例子:
      • 调用的结构如图所示,假设同一层的内容无法同时调用。
      • 按照自身逻辑结构,让那些不可能同时被访问的程序段共享同一个覆盖区
      • 图:
  3. 缺点:

    • 必须由程序员声明覆盖结构 ,操作系统完成自动覆盖。缺点:对用户不透明,增加了用户编程负担。
    • 覆盖技术只用于早期的操作系统中,现在已成为历史。

交换技术

  1. 交换技术(也称对换技术)的设计思想:内存空间紧张时,系统将内存中某些进程暂时换出 外存,把外存中某些已具备运行条件的进程换入内存(进程在内存与磁盘间动态调度)

    • 复习第二章处理机调度:分为高级调度,中级调度,低级调度。
      • 高级调度负责作业从外存到内存的准入,
      • 中级调度负责进程在内存与外存间的动态交换以平衡负载,
      • 低级调度则负责从内存就绪队列中选取进程分配CPU执行。
    • 其中,中级调度就是为了实现交换技术而使用的一种调度策略。
      • 当内存空间紧张,可以把某些进程从内存换出到外存,并将其插入到挂起队列,
        • 实际上是将指向该进程PCB的指针(或索引)插入队列,
        • PCB常驻在内存中
          • 因为进程被换出外存后,需要记录下来放在外存的位置,
          • 这个信息将会被记录在相关的PCB中,所以PCB常驻内存
      • 内存空间不紧张后,再把这些进程相关数据换入内存
      • 中级调度(内存调度),就是要决定将哪个处于挂起状态的进程重新调入内存。
  2. 复习:进程的七状态模型:

    • 暂时换出外存等待的进程状态为挂起状态(挂起态,suspend)
    • 挂起态又可以进一步细分为就绪挂起、阻塞挂起两种状态
    • 交换技术也在逻辑上扩充了内存空间
    • 图:
  3. 问题:

    • 应该在外存(磁盘)的什么位置保存被换出的进程?
    • 什么时候应该交换?
    • 应该换出哪些进程?
  4. 第一个问题解答:

    • 具有对换功能的操作系统中,通常把磁盘空间分为文件区 和对换区两部分。
    • 文件区 主要用于存放文件,主要追求存储空间的利用率,
    • 因此对文件区空间的管理采用离散分配方式;
    • 对换区 空间只占磁盘空间的小部分,被换出的进程数据就存放在对换区。
    • 由于对换的速度直接影响到系统的整体速度,
    • 因此对换区 空间的管理主要追求换入换出速度,
    • 因此通常对换区采用连续分配方式
      • 后续学过文件管理章节后即可理解
    • 总之,对换区的I/O速度比文件区的更快。
    • 图:
  5. 第二个问题解答:

    • 交换通常在许多进程运行且内存吃紧时进行,而系统负荷降低就暂停。
    • 例如:
      • 在发现许多进程运行时经常发生缺页,就说明内存紧张,此时可以换出一些进程;
      • 如果缺页率明显下降,就可以暂停换出。
        • 后续章节会对缺页、缺页率进行更详细的讲解,此处不展开
  6. 第三个问题解答:(提供思路,答案不唯一)

    • 可优先换出阻塞进程;
    • 可换出优先级低的进程;
    • 为了防止优先级低的进程在被调入内存后很快又被换出,
      • 有的系统还会考虑进程在内存的驻留时间。
  7. 注意:PCB会常驻内存,不会被换出外存

知识回顾与重要考点

  1. 覆盖技术与交换技术一般只会在选择题当中进行考察,理解即可
  2. 需要详细记忆的部分是固定区与覆盖区的内容,即图中红框部分
  3. 覆盖技术的缺点可能作为选择题选项考察
  4. 了解:换出的进程一般放在对换区中
相关推荐
ss2731 小时前
AI时代首先数据库-PostgreSQL实战笔记 | 19 PostgreSQL逻辑备份:pg_dump与pg_dumpall
数据库·笔记·postgresql
flytalei2 小时前
逐浪笔记 GitOps 实战:Jenkins 构建、Argo CD 同步与 Git 回滚
笔记·git·jenkins
叼烟扛炮2 小时前
Linux 学习笔记(八):GCC 编译器的四大阶段与链接原理
linux·笔记·学习
Z21-X2 小时前
云原生运维学习笔记:从云计算概念到服务器硬件的入门之旅
运维·笔记·学习·云原生
滴啦嘟啦哒3 小时前
【具身笔记】【Piper+PI0.5】一、基于键盘实现数据采集
笔记·vla·具身
叼烟扛炮3 小时前
Linux 学习笔记(十六):进程的调度与优先级——谁先抢到 CPU?
linux·笔记·学习
衫水3 小时前
Windows 端 OpenSSL 安装与自签证书生成笔记
windows·笔记
叼烟扛炮3 小时前
Linux 学习笔记(三):文件管理与文本查看
linux·笔记·学习
海绵宝宝转agent3 小时前
2026-10-21学习笔记
笔记·学习·算法
动词ing4 小时前
【学习笔记】51单片机 点亮一个LED灯
笔记·学习·51单片机