首页 > 代码库 > 内存掩盖与内存交流

内存掩盖与内存交流

内存掩盖

晚期的盘算机零碎中,主存容量很小,固然主存中仅寄存一道用户程序,然则存储空间放不下用户过程的景象也常常发作,这一矛盾可以用掩盖技巧来处理。
掩盖的根本思惟是:因为程序运转时并非任何时分都要拜访程序及数据的各个局部(特别是大程序),因而可以把用户空间分红一个固定区和若干个掩盖区。将常常活泼的局部放在固定区,其他局部按挪用关系分段。起首将那些行将要拜访的段放入掩盖区,其他段放在外存中,在需求挪用前,零碎再将其调入掩盖区,交换掩盖区华夏有的段。
掩盖技巧的特色是打破了必需将一个过程的全体信息装入主存后才干运转的限制,但当同时运转程序的代码量大于主存时仍不克不及运转。

内存交流

交流(对调)的根本思惟是,把处于等候形态(或在CPU调剂准绳下被褫夺运转权益) 的程序从内存移到辅存,把内存空间腾出来,这一进程又叫换出;把预备好竞争CPU运转的程序从辅存移到内存,这一进程又称为换入。第2章引见的中级调剂就是釆用交流技巧。
例如,有一个CPU釆用工夫片轮转调剂算法的多道程序情况。工夫片到,内存治理器将方才履行过的过程换出,将另一过程换入到方才释放的内存空间中。同时,CPU调剂器可以将工夫片分派给其他已在内存中的过程。每一个过程用完工夫片都与另一过程交流。幻想状况下,内存治理器的交流进程速度足够快,总有过程在内存中可以履行。
有关交流需求留意以下几个成绩:

  • 交流需求备份存储,平日是疾速磁盘。它必需足够大,而且供给对这些内存映像的直接拜访。

  • 为了无效运用CPU,需求每一个过程的履行工夫比交流工夫长,而影响交流工夫的次要是转移工夫。转移工夫与所交流的内存空间成反比。

  • 假如换出过程,必需确保该过程是完整处于闲暇形态。

  • 交流空间平日作为磁盘的一整块,且自力于文件零碎,因而运用就能够很快。

  • 交流平日在有很多过程运转且内存空间吃紧时开端启动,而零碎负荷下降就暂停。

  • 通俗的交流运用不多,但交流战略的某些变种在很多零碎中(如UNIX零碎)仍发扬感化。


交流技巧次要是在分歧过程(或功课)之间停止,而掩盖则用于统一个程序或过程中。因为掩盖技巧请求给出程序段之间的掩盖构造,使得其对用户和程序员不通明,所以关于主存无法寄存用户程序的矛盾,古代操作零碎是经过虚拟内存技巧来处理的,掩盖技巧则已成为汗青;而交流技巧在古代操作零碎中仍具有较强的生命力。


本文出自 “11999725” 博客,请务必保留此出处http://12009725.blog.51cto.com/11999725/1843695

内存掩盖与内存交流