共工科技

虚拟内存什么意思?什么是虚拟内存

文章目录


虚拟内存什么意思?

虚拟内存,故明思意,就是虚拟的内存

 虚拟内存是用硬盘空间做内存来弥补计算机RAM空间的缺乏。当实际RAM满时(实际上,在RAM满之前),虚拟内存就在硬盘上创建了。当物理内存用完后,虚拟内存管理器选择最近没有用过的,低优先级的内存部分写到交换文件上。这个过程对应用是隐藏的,应用把虚拟内存和实际内存看作是一样的。

虚拟内存什么意思?什么是虚拟内存-图1

什么是虚拟内存?

虚拟内存是计算机系统内存管理的一种技术,它将计算机的RAM和硬盘上的临时空间组合在一起,使得应用程序认为它拥有连续的可用的内存。

虚拟内存的核心原理是为每个程序设置一段“连续”的虚拟地址空间,把这个地址空间分割成多个具有连续地址范围的页(Page),并把这些页和物理内存做映射,在程序运行期间动态映射到物理内存

什么是虚拟内存?

虚拟内存是用硬盘空间做内存来弥补计算机RAM空间的缺乏。当实际RAM满时(实际上,在RAM满之前),虚拟内存就在硬盘上创建了。

虚拟内存什么意思?什么是虚拟内存-图2

当物理内存用完后,虚拟内存管理器选择最近没有用过的,低优先级的内存部分写到交换文件上。

这个过程对应用是隐藏的,应用把虚拟内存和实际内存看作是一样的。

讲虚拟内存的概念之前,先说说虚拟内存怎么来的:首先一个前提条件是现在的OS基本都是多道程序设计的,也就是把用户的多个不同的程序(或者说是进程)放在内存里面,然后cpu通过调度算法在来执行相应的程序(或者说是指令),用户程序若是项目大,那就是一个文件夹里面有几百或者上千的文件,且每个文件就是上千上万的代码,这样的大小已经足以大于实际的物理内存了。那么这样就产生了一个现象那就是用户程序只有一部分在内存里被执行,所以要执行完整的程序,就引入了虚拟内存的概念,这个虚拟内存就是用来存储不在内存的那部分代码

虚拟内存什么意思?什么是虚拟内存-图3

所以总结来说虚拟内存就是:电脑中所运行的程序均需经过内存执行,若执行的程序占用的内存很大很多,则会导致内存消耗殆尽,为解决该问题,WINDOWS运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,这部分空间即称为虚拟内存。

优点:可以弥补物理内存大小的不足;一定程度的提高反映速度;减少对物理内存的读取从而保护内存延长内存使用寿命;

缺点:占用一定的物理硬盘空间;加大了对硬盘的读写;设置不得当会影响整机稳定性与速度。

虚拟内存是计算机系统中的一种技术,通过将部分硬盘空间用作扩展的内存空间来增加计算机的可用内存。虚拟内存将计算机的物理内存(RAM)和磁盘空间组合起来,为程序提供了更大的可用内存空间。

当计算机运行多个程序时,每个程序都需要占用一定的内存空间。由于物理内存大小有限,当需要加载大型程序或多个程序时,可能会导致内存不足的情况。虚拟内存通过将不常用的数据或程序从物理内存转移到磁盘上的空间上,以释放物理内存供其他程序使用。

虚拟内存的工作原理基于页面交换(Page Swapping)的概念。当程序需要访问一个页面(通常是指固定大小的内存块,例如4KB),如果该页面不在物理内存中,就会发生页面错误(Page Fault)。此时,操作系统会将该页面从磁盘中加载到空闲的物理内存页中,并将不常用的页面写回磁盘。这样,计算机就可以在有限的物理内存下运行更多的程序或处理更大的数据。

虚拟内存的优点包括有效扩充了计算机内存的容量,提高了系统的运行效率和多任务处理能力。但同时也存在一些潜在的性能问题,如频繁的页面交换可能导致较慢的访问速度和系统响应时间延迟。

总之,虚拟内存是计算机系统中一种重要的内存管理技术,可以提供更大的内存空间给程序运行,并优化系统资源的利用。

到此,以上就是小编对于什么是虚拟内存?的问题就介绍到这了,希望介绍的3点解答对大家有用,有任何问题和不懂的,欢迎各位老师在评论区讨论,给我留言。

分享:
扫描分享到社交APP
上一篇
下一篇