基本概念

内存管理的职责:

  1. 内存空间的分配和回收(最基本)
  2. 虚拟内存技术对内存空间进行扩充
  3. 逻辑地址到物理地址的转换
  4. 内存保护,各进程之间的内存空间和操作系统的内存空间应该隔离
    1. 可以设置上下限寄存器,检查是否越界
    2. 采用重定位寄存器和界地址寄存器(限长寄存器)进行越界检查

覆盖与交换

覆盖技术

主要解决程序大小超过物理内存总和的问题

覆盖技术的思想:将程序分为多个段(多个模块)。常用的段常驻内存,不常用的段在需要时调入内存

内存中分为一个「固定区」和若干个「覆盖区」

需要常驻内存的段放在「固定区」中,调入后就不再调出(除非运行结束)

不常用的段放在「覆盖区」,需要用到时调入内存,用不到时调出内存

image.png

交换技术

内存空间紧张时,可以将某些进程暂时换出外存,也就是进程在内存与磁盘之间动态调度

image.png

暂时换出外存等待的进程状态为挂起状态

  1. 在外存的什么位置保存被换出的进程?

    一般放在 swap 区,空间采用连续分配方式

  2. 什么时候应该进行交换?

    系统内存紧张时进行