覆盖技术

「覆盖技术」是一种存储管理方式,用于解决用户程序长度超出物理内存总和的情况。

覆盖技术指一个作业的若干程序段(或数据段)间,或几个作业的某些部分间共享某主存空间。

  • 用于操作系统操作系统常用部分常驻内存,不常用部分存于外存;
  • 用于用户作业:用户指定各程序段调入内存的先后次序,以及内存中可以覆盖的程序段位置。

img-2024-05-20 10-20-30.png

原理

  1. 程序分成若干独立的代码或数据段
  2. 将程序的必要部分的代码段和数据段常驻内存
  3. 可选部分的代码段和数据段平时存放在外存当中,需要时才装入内存
  4. 不存在调用关系的模块不必同时装入到内存中,
  5. 当一个新模块调入内存时可以覆盖内存中不用的模块,以减少程序对整个内存的需求。

特点

  • 不足:由用户程序自己控制内外存信息交换,用户负担很重,且程序不宜过长,用于早期的OS。