【概述】
对换技术也称交换技术,由于早期计算机的内存十分小,为使系统能分时运行多个用户程序而引入了对换技术
系统将所有用户作业放入磁盘,每次只调用一个作业进入内存,当该作业的一个时间片用完时,将他调至外存的后备队列上等待,再从后备队列上将另一个作业调入内存
对换技术是早期分时系统上的技术,现在已很少使用
【多道程序环境下的对换技术】
对换是改善内存利用率的有效措施,其可以直接提高处理机的利用率和系统的吞吐量
对换是将内存中暂时不能运行、或暂时不用的程序和数据调到外存上,以腾出足够的内存,把已具备运行条件的进程和进程所需要的程序和数据调入内存
根据每次对换时所对换的数量,可将对换分为两类:
- 整体对换(进程对换):处理机的中级调度功能实质上就是存储器的对换功能,其以整个进程为单位
- 页面对换(分段对换):以页或段为单位进行对换,是请求分页和请求分段式存储管理的基础
【对换空间的管理】
在具有对换功能的 OS 中,通常将磁盘空间分为文件区和对换区两部分,对比如下:
外存 | 存储内存 | 驻留时间 | 主要目标 | 分配方式 |
---|---|---|---|---|
文件区 | 文件 | 较长久不频繁 | 提供文件存储空间利用率 | 离散 |
对换区 | 从内存换出的进程 | 短暂频繁 | 提高进程换入和换出的速度 | 连续 |
此外,还需在对换区设置相应的数据结构,用于记录外存对换区中的空闲盘块的使用情况
其数据结构形式与内存在动态分区分配方式中的数据结构类似,即可利用空闲分区表或空闲分区链表,每个表目包含两项:对换区的首地址、对换区的大小,分别用盘块号和盘块数来表示
由于对换分区的分配采用的是连续分配方式,因而对换空间的分配与回收和动态分区方式时的内存分配与回收相同