引入背景
在多道程序环境下,可能会出现以下情况:
- 内存中的某些进程因等待特定事件而阻塞,占用大量内存空间。
- 所有进程都被阻塞,导致CPU停止运行。
- 外存上有许多作业因内存不足而无法运行。
为了解决这些资源浪费问题,操作系统引入了Swap内存交换技术,以提高系统吞吐量。
对换类型
- 整体对换或进程对换:以整个进程为单位进行对换,主要解决内存紧张问题。
- 页面对换或分段对换:以“页”或“段”为单位进行对换,实现更细粒度的内存管理。
空间的管理
在具有Swap功能的操作系统中,外存通常分为两个区域:
- 文件区:用于存放文件。
- 交换区:用于存放从内存换出的进程,采用连续分配方式以提高交换速度。
进程的换出与换入
- 换出:当系统需要更多内存空间时(如创建子进程),系统会选择优先级最低的阻塞进程进行换出。换出过程包括将进程数据传送到磁盘交换区,并回收内存空间。
- 换入:系统定时检查进程状态,选择已就绪但已被换出的进程进行换入。通常选择换出时间最长的进程进行换入,直到没有可换入的进程或没有可换出的进程为止。
技术的特点
Swap内存交换技术打破了程序一旦进入主存就必须一直运行到结束的限制,但进程的运行大小仍然受到实际主存大小的限制。这种技术有效地提高了内存资源的利用率,使得更多的进程能够在有限的内存空间中得到执行。