1.覆盖
早期的计算机内存很小,经常会出现内存大小不够的情况。后来人们引入了覆盖技术,用来解决“程序大小超过物理内存总和”的问题。
基本思想:由于程序运行时并非任何时候都要访问程序及数据的各个部分,因此可以把用户空间分为一个固定区和若干个覆盖区。将经常活跃的部分放在固定区,其余部分按调用关系分段。首先将那些即将要访问的段放入覆盖区,其他段放在外存中,在需要调用前,系统再将其调入覆盖区,替换覆盖区中原有的段。
特点是打破了必须将一个进程的全部信息转入内存后才能运行的限制,但当同时运行程序的代码量大于主存时仍不能运行,再而,内存中能够更新的地方只有覆盖区的段,不在覆盖区中的段会常驻内存。
2.交换
基本思想:把暂时不用的某个程序及数据部分(或全部)从内存移到外 存中,以便腾出必要的内存空间,这一过程又叫换出;把指定的程序或数据从外存读到相应的内存中,并将控制权转给它,这一过程又称为换入。
与覆盖技术相比,交换技术不要求程序员给出程序段之间的覆盖结构,且交换主要是在进程或作业之间进行,而覆盖则主要在同一个作业或进程中进行。另外,覆盖技术只能覆盖与覆盖程序段无关的程序段。交换进程由换出和换入两个过程组成。
有关交换需要注意以下几个问题:
无
登录后开始许愿
暂无评论,来抢沙发