学习啦>知识大全>知识百科>百科知识>

虚拟内存是什么意思工作原理是什么

谢君分享

  虚拟内存是计算机系统内存管理的一种技术。那么你对虚拟内存了解多少呢?以下是由学习啦小编整理关于什么是虚拟内存的内容,希望大家喜欢!

  虚拟内存的介绍

  虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。目前,大多数操作系统都使用了虚拟内存,如Windows家族的“虚拟内存”;Linux的“交换空间”等。

  Windows 8/8.1 操作系统如出现开机时卡在Windows徽标页面,无法进入系统,必须强制关机再重启才能打开时,可适当调整虚拟内存设置解决。

  虚拟内存的工作原理

  虚拟存储器是由硬件和操作系统自动实现存储信息调度和管理的。它的工作过程包括6个步骤:

  ①中央处理器访问主存的逻辑地址分解成组号a和组内地址b,并对组号a进行地址变换,即将逻辑组号a作为索引,查地址变换表,以确定该组信息是否存放在主存内。

  ②如该组号已在主存内,则转而执行④;如果该组号不在主存内,则检查主存中是否有空闲区,如果没有,便将某个暂时不用的组调出送往辅存,以便将这组信息调入主存。

  ③从辅存读出所要的组,并送到主存空闲区,然后将那个空闲的物理组号a和逻辑组号a登录在地址变换表中。

  ④从地址变换表读出与逻辑组号a对应的物理组号a。

  ⑤从物理组号a和组内字节地址b得到物理地址。

  ⑥根据物理地址从主存中存取必要的信息。

  调度方式有分页式、段式、段页式3种。页式调度是将逻辑和物理地址空间都分成固定大小的页。主存按页顺序编号,而每个独立编址的程序空间有自己的页号顺序,通过调度辅存中程序的各页可以离散装入主存中不同的页面位置,并可据表一一对应检索。页式调度的优点是页内零头小,页表对程序员来说是透明的,地址变换快,调入操作简单;缺点是各页不是程序的独立模块,不便于实现程序和数据的保护。段式调度是按程序的逻辑结构划分地址空间,段的长度是随意的,并且允许伸长,它的优点是消除了内存零头,易于实现存储保护,便于程序动态装配;缺点是调入操作复杂。将这两种方法结合起来便构成段页式调度。在段页式调度中把物理空间分成页,程序按模块分段,每个段再分成与物理空间页同样小的页面。段页式调度综合了段式和页式的优点。其缺点是增加了硬件成本,软件也较复杂。大型通用计算机系统多数采用段页式调度。

  虚拟内存不足原因

  【1】、感染病毒:有些病毒发作时会占用大量内存空间,导致系统出现内存不足问题。

  【2】、虚拟内存设置不当:通常,应设置为物理内存大小的2倍。若设置过小,则会影响系统程序的正常运行。此时便需重设虚拟内存数值,以“Windows XP”为例,右击“我的电脑”,选择“属性”,在“高级”标签页点击“性能”框中的“设置”按钮,切换至“高级”标签页,后在“虚拟内存”框中点击“更改”按钮,接着重设虚拟内存数值,再点“设置”并“确定”,完后重启系统即可。

  【3】、系统盘空间不足:在默认情况下,虚拟内存是以名为“Pagefile.sys”的交换文件存于硬盘的系统分区中。若系统盘剩余容量过小,即会出现该问题。系统盘至少应留有300MB的可用空间,当然此数值需据用户的实际需要而定。尽量不要将各种应用软件装在系统盘,以保证有足够的空间供虚拟内存文件使用,且最好将虚拟内存文件安放至非系统盘内。

  【4】、System用户权限设置不当:基于NT内核的Windows系统启动时,System用户会为系统创建虚拟内存文件。有些用户为了系统的安全,采用NTFS文件系统,但却取消了System用户在系统盘“写入”和“修改”的权限,这样就无法为系统创建虚拟内存文件,运行大型程序时,也会出现此类问题。对策:重新赋予System用户“写入”和“修改”的权限即可。(注:该仅限于使用NTFS文件系统的用户。)

  虚拟内存使用技巧

  对于虚拟内存如何设置的问题,微软已经给我们提供了官方的解决办法,对于一般情况下,我们推荐采用如下的设置方法:

  页面文件,文件的大小由你对系统的设置决定。具体设置方法如下:打开"我的电脑"的"属性"设置窗口,切换到"高级"选项卡,在"启动和故障恢复"窗口的"写入调试信息"栏,如果你采用的是试和错误报告了。所以折中的办法是在系统盘设置较小的页面文件,只要够用就行了。

  内存,其最小值设置为物理内存的1.5倍,最大值设置为物理内存的3倍,该分区专门用来存储页面文件,不要再存放其它任何文件。之所以单独划分一个分区用来设置虚拟内存,主要是基于两点考虑:其一,由于该分区上没有其它文件,这样分区不会产生磁盘碎片,这样能保证页面文件的数据读写不受磁盘碎片的干扰;其二,按照Windows对内存的管理技术,Windows会优先使用不经常访问的分区上的页面文件,这样也减少了读取系统盘里的页面文件的机会,减轻了系统盘的压力。

  页面文件,则其它硬盘分区不设置任何页面文件。因为过多的分区设置页面文件,这样会导致,硬盘磁头反复的在不同的分区来回读取。这样既耽误了系统速率,也会减少硬盘的寿命。当然,如果你有多个硬盘,则可以为每个硬盘都创建一个页面文件。当信息分布在多个页面文件上时,硬盘控制器可以同时在多个硬盘上执行读取和写入操作。这样系统性能将得到提高。

  需要注意!设置过大的虚拟内存将导致关机过慢甚至几十分钟,例如2G电脑设置16G虚拟内存虽然增加了电脑性能但是关机可能需要几分钟。


看过“虚拟内存工作原理”的人还看了:

1.虚拟内存技术的工作原理

2.如何清理物理内存缓存

3.内存条工作原理是什么

4.电脑内存16g还需要设置虚拟内存吗

5.常用的内存管理方法有哪几种

6.怎样清空内存数据

    1511779