覆盖技术
「覆盖技术」是一种存储管理方式,用于解决用户程序长度超出物理内存总和的情况。
覆盖技术指一个作业的若干程序段(或数据段)间,或几个作业的某些部分间共享某主存空间。
- 用于操作系统:操作系统常用部分常驻内存,不常用部分存于外存;
- 用于用户作业:用户指定各程序段调入内存的先后次序,以及内存中可以覆盖的程序段位置。
原理
- 程序分成若干独立的代码或数据段
- 将程序的必要部分的代码段和数据段常驻内存
- 可选部分的代码段和数据段平时存放在外存当中,需要时才装入内存
- 不存在调用关系的模块不必同时装入到内存中,
- 当一个新模块调入内存时可以覆盖内存中不用的模块,以减少程序对整个内存的需求。
特点
- 不足:由用户程序自己控制内外存信息交换,用户负担很重,且程序不宜过长,用于早期的OS。