虚拟存储器的可行性基础是 程序执行的局部性原理。这个原理包含两个主要方面:
时间局部性:
程序在运行过程中,某些指令或数据会在较短时间内被重复执行。例如,在while循环中,相同的指令序列会反复出现。
空间局部性:
程序在运行时,其指令和数据在内存中通常以块的形式连续存放。因此,当程序访问某一部分内存时,很可能很快会访问到其相邻的内存区域。
虚拟存储器利用这两个局部性原理,将程序的逻辑地址空间分割成大小不等的页或段,并通过硬件和操作系统将其映射到有限的物理内存空间中。当程序运行时,只将当前需要的页或段加载到内存中,其余部分则存储在外存(如硬盘)上。当需要访问外存中的页或段时,通过页面置换算法将其调入内存,或将内存中的页或段置换到外存。
这种技术使得程序能够使用比物理内存大得多的逻辑地址空间,从而有效地解决了内存容量不足的问题。
声明:
本站内容均来自网络,如有侵权,请联系我们。