覆盖与交换
一、覆盖技术
(一)思想
将程序分为多个段(多个模块)。常用的段常驻内存,不常用的段在需要时调入内存。
(二)实现
将内存分为一个“固定区”和若干个“覆盖区”。
需要常驻内存的段放在“固定区”中,调入后就不再调出(除非运行结束)
不常用的段放在“覆盖区”,需要用到时调入内存,用不到时调出内存
二、交换技术
(一)思想
内存空间紧张时,系统将内存中某些进程暂时换出外存,把外存中某些己具备运行条件的进程换入内存(进程在内存与磁盘间动态调度)
联想:三层调度方式的中级调度
暂时换出外存等待的进程状态为挂起状态(挂起态, suspend),挂起态又可以进一步细分为就绪挂起、阻塞挂起两种状态。中级调度就是实现交换技术的调度。
(二)实现
将磁盘空间分为文件区和对换区两部分。对换区的 I/O 速度比文件区的更快。
- 文件区:采用离散分配方式。主要用于存放文件,主要追求存储空间的利用率。
- 对换区:采用连续分配方式。对换区空间只占磁盘空间的小部分,被换出的进程数据就存放在对换区。对换区空间的管理主要追求换入换出速度,对换的速度直接影响到系统的整体速度。