覆盖技术和交换技术

覆盖和交换是从逻辑上扩充主存的方法。

1.覆盖:主要在早期的操作系统中使用

把程序划分为若干个功能独立的程序段,这些程序段不会同时被CPU执行,且让他们共享同一个主存区。当前没有被CPU执行的程序段放在外存,需要执行时,从外存调入主存。

例如:一个程序分为如下:A,B1,B2,C1,C2,C3 六段  

A(20kb)->B1(60kb),B2(30kb)->C1(30kb),C2(20kb),C3(50kb)

原来所需的主存空间为:20+60+30+30+20+50=210kb

若用覆盖技术,所需的主存空间为:20+60+50=130kb

2.交换:进程在内存和外存之间的换入和换出。即换入时,把进程所需的程序和数据从外存中读入内存。换出时,把不在执行状态的进程所需的程序和数据全部写到外存中。

3.区别:

  交换技术不用事先给出覆盖结构,主要在进程或作业之间进行,可以在较小的存储空间中运行较多的进程或作业;而覆盖技术主要在同一个进程或作业之间进行,可以在较小的存储空间运行较大的进程或作业。

原文地址:https://www.cnblogs.com/laining/p/7641778.html