【操作系统】存储器管理之覆盖与对换

覆盖与对换技术是在多道程序环境下用来扩充内存的两种方法。

覆盖与对换可以解决在小的内存空间运行大作业的问题,是“扩充”内存容量和提高内存利用率的有效措施。

覆盖技术主要用在早期的 OS 中,对换技术则用在现代OS 中。

覆盖 (Overlay)

覆盖技术主要用在早期的 OS 中(内存 <64KB) ,可用的存储空间受限,某些大作业不能一次全部装入内存,产生了大作业与小内存的矛盾。

【操作系统】存储器管理之覆盖与对换_第1张图片

覆盖:把一个程序划分为一系列功能相对独立的程序段,让执行时不要求同时装入内存的程序段组成一组(称为覆盖段) ,共享主存的同一个区域,这种内存扩充技术就是覆盖。

【操作系统】存储器管理之覆盖与对换_第2张图片

程序段先保存在磁盘上,当有关程序段的前一部分执行结束,把后续程序段调入内存,覆盖前面的程序段(内存“扩大”了) 。

一般要求作业各模块之间有明确的调用结构,程序员要向系统指明覆盖结构,然后由操作系统完成自动覆盖。

缺点:对用户不透明,增加了用户负担。

对换(Swapping)

所谓“对换” ,是指将暂时不用的某个进程及数据(首先是处于阻塞状态优先级最低的)部分(或全部)从内存移到到外存(备份区或对换区)中去,让出内存空间,同时将某个需要的进程调入到内存中,让其运行。

交换技术也是“扩充”内存容量和提高内存利用率的有效措施。

交换到外存的进程需要时可以被再次交换回(选择换出时间最久的)内存中继续执行。

【操作系统】存储器管理之覆盖与对换_第3张图片

对换的类型

  • 整体对换:进程对换,解决内存紧张问题。 (中级调度)
  • 部分对换:页面对换/分段对换,提供虚存支持。

对换空间的管理

  • 具有对换功能的 OS 中,通常把外存分为文件区和对换区。前者用于存放文件,后者存放从内存换出的进程。对换区比文件区侧重于对换速度。因此对换区一般采用连续分配。

进程的换出与换入

  • 选择换出进程:优先级,进程状态。
  • 选择换入进程:优先级,进程状态,换出时间等。

覆盖与对换技术的区别

  • 覆盖可减少一个进程运行所需的空间。对换可让整个进程暂存于外存中,让出内存空间。
  • 覆盖是由程序员实现的,操作系统根据程序员提供的覆盖结构来完成程序段之间的覆盖。对换技术不要求程序员给出程序段之间的覆盖结构。
  • 覆盖技术主要在同一个作业或进程中进行。对换主要在作业或进程之间进行。

你可能感兴趣的:(操作系统,操作系统,存储,管理,覆盖,对换)