考研帮 > 数学 > 每日一练

3.8 虚拟存储器

3.8 虚拟存储器

  有时,用户需要更大的内存空间来满足应用的需要,但在真内存有限的情况下,如果想要扩大内存的空间,这时就需要用到虚拟存储器技术。它可以将部分辅存当做内存使用。对于应用程序员,这个过程是透明的,程序员只需要将其看做是一个被扩大了的内存。

3.8.1 虚拟存储器的基本概念

  所谓虚拟存储器,就是采用一定的方法将一定的外存容量模拟成内存,同时对程序进出内存的方式进行管理,从而得到一个比实际内存容量大得多的内存空间,使得程序的运行不受内存大小的限制。因此,虚拟存储器是由内存和部分辅存一起组成的。
  在虚拟存储器中,主存或部分辅存的地址空间是统一编址的,形成一个庞大的存储空间。在这个大空间里,用户可以自由编程,完全不必考虑程序在主存是否装得下以及这些程序将来在主存中的实际存放位置。当然,这样的编程地址是虚地址(逻辑地址),而不是实际的主存单元地址。在程序运行时,CPU以虚地址来访问主存,由辅助硬件找出虚地址和实地址(物理地址)之间的对应关系,并判断这个虚地址指示的存储单元内容是否已装入主存。如果已在主存中,则通过地址变换,CPU可直接访问主存的实际单元;如果不在主存中,则把包含这个字的一页或一个程序段调入主存后再由CPU访问。如果主存已满,则由替换算法从主存中将暂不运行的一页或一段调回辅存,再从辅存调入新的一页或一段到主存。从原理的角度看,虚拟存储器和Cache-主存层次有不少相同之处。
  虚拟存储方法的实现也依赖于程序的局部性原理,另外虚拟存储方法还依赖于程序的顺序性特性。所谓程序的顺序性,是指程序运行过程中,如果要运行第n+1行语句,则大多数情况下需要先运行第n行语句。

关于"最后阶段,真题的正确打开方式_备考经验_考研帮"15名研友在考研帮APP发表了观点

扫我下载考研帮

考研帮地方站更多

你可能会关心:

来考研帮提升效率

× 关闭