虚拟存储器是一种计算机技术,其主要作用是为计算机提供临时性的存储空间,以满足大型程序的运行需求。虚拟存储器早期是为了解决物理内存不足所引起的问题而产生的。它实现了计算机对存储系统的抽象,让程序能够使用超出物理内存容量的虚拟内存。
一、虚拟存储器的本质
虚拟存储器的本质是将内存条和硬盘组合成一个集合。操作系统利用外部存储器(通常是硬盘)来模拟更大的主存储器空间,让程序以为计算机具有更大的内存空间,从而能够承载更大的程序和更大的数据模型。
虚拟存储器技术将程序主要用到的代码和数据存储在内存中,但是,与其它完全物理存储器不同,这些数据只有在需要时,在硬盘与内存之间进行交换。这样不仅获得了更大容量的内存空间,同时也提供了操作系统在处理多任务时的能力。操作系统可以将更多的任务加载到内存中,从而以更高的效率同时处理多个活动。
二、虚拟存储器的作用
虚拟存储器的作用相当于是一种通过交换数据从而实现的内存扩容方式。操作系统把物理内存中的部分数据和元数据副本拷贝进虚拟存储区域,在需要时进行交换。这样,操作系统就可以为每一个进程提供独立的虚拟地址空间,也保证了在不同的进程之间不会发生交换数据的混乱,从而实现了多任务、多进程的时候,避免了任务之间内存发生混乱的情况。
在大多数操作系统里,虚拟存储器的作用在于从操作系统角度上屏蔽了硬件内存管理细节,为应用程序提供一个“抽象内存层”。通过拥有虚拟存储器,操作系统不仅可以在内存中同时加载多个进程,而且还能够把不同程序所需的进程内容,虚拟存储器能够根据不同进程的需求维护各种独立的页面,将其有效地加载和安排到物理存储器中,减少了内存碎片,并为系统提供计算资源。即便在内存不足时,虚拟存储器也能为计算机提供相对无限的内存空间,并使得整个进程运行更为的流畅。
三、虚拟存储器的优点
使用虚拟存储器,计算机能够更好地利用 主存储器 ,运行时间更短。
这是因为虚拟存储器隔离了程序的内存空间,使得多个程序能够共存运行在同一台计算机中,而不会相互影响。当内存不足时,虚拟存储器能够将一部分现存于硬盘中的数据和缓存进行交换,以释放内存空间,同时也能保证程序的运行过程更流畅。
虚拟存储器还能够将数据和代码自由地分配到任何位置,使得使用内存空间更加高效。为了实现这一点,虚拟存储器将内存空间分为许多个大小相等的块,称为页面。当需要存储一个新数据块时,虚拟存储器会把它放在一个空白的页面内。如果内存规模不足,则会将部分页面置于硬盘的交换文件中,并将它们还原到内存中。
总结起来,虚拟存储器的应用使得在内存不足时,纯粹把物理内存扩大已经不足够。虚拟存储器是可以节省虚拟内存的一种解决方案,在软件开发中广泛应用,不仅能够为多任务环境提供一种简便的扩容方式,而且还能的提高系统的效率、速度和可靠性。