虚拟内存管理
当程序的存储空间要求大于实际的内存空间时,就使得程序难以运行了。虚拟存储技术就是利用实际内存空间和相对大的多的外部储存器存储空间相结合构成一个远远大于实际内存空间的虚拟存储空间,程序就运行在这个虚拟存储空间中,能够实现虚拟存储的依据是程序的局部性原理,即程序在运行过程中经常体现出运行在某个局部范围之内的特点。
基本信息
- 中文名
虚拟内存管理
- 外文名
Virtual Memory Management
基本内容
1虚拟存储管理的概念
当程序的存储空间要求大于实际的内存空间时,就使得程序难以运行了.虚拟存储技术就是利用实际内存空间和相对大的多的外部储存器存储空间相结合构成一个远远大于实际内存空间的虚拟存储空间,程序就运行在这个虚拟存储空间中.能够实现虚拟存储的依据是程序的局部性原理,即程序在运行过程中经常体现出运行在某个局部范围之内的特点.在时间上,经常运行相同的指令段和数据(称为时间局部性),在空间上,经常运行与某一局部存储空间的指令和数据(称为空间局部性),有些程序段不能同时运行或根本得不到运行.
虚拟存是把一个程序所需要的存储空间分成落干页或段,程序运行用到页和段就放在内存里,暂时不用就放在外存中.当用到外存中的页和段时,就把它们调到内存,反之就把它们送到外存中.装入内存中的页或段可以分散存放.
2虚拟页式存储管理
虚拟页式存储管理和一般的页式管理有相同之处,只不过各进程页表要增加指明每个页面所在的位置,也就是这个页面是在内存还是外存中的具体物理地址.当进程工作到需要使用某个页面时,如果通过查页表发现该页表是在外存中,此时要进行缺页中断处理.也就是暂停当前进程的运行,CPU转而执行缺页中断处理程序,把所需要的页面调入内存,在页表上填写该页面的物理页面号,注名该页面已经进入内存,再恢复当前进程的运行
什么是虚拟内存
虚拟内存是用硬盘空间做内存来弥补计算机RAM空间的缺乏。当实际RAM满时(实际上,在RAM满之前),虚拟内存就在硬盘上创建了。当物理内存用完后,虚拟内存管理器选择最近没有用过的,低优先级的内存部分写到交换文件上。这个过程对应用是隐藏的,应用把虚拟内存和实际内存看作是一样的。
虚拟内存 - 虚拟内存的作用
在Windows2000(XP)目录下有一个名为pagefile.sys的系统文件(Windows98下为Win386.swp),它的大小经常自己发生变动,小的时候可能只有几十兆,大的时候则有数百兆,这种毫无规律的变化实在让很多人摸不着头脑。其实,pagefile.sys是Windows下的一个虚拟内存,它的作用与物理内存基本相似,但它是作为物理内存的“后备力量”而存在的,也就是说,只有在物理内存已经不够使用的时候,它才会发挥作用。目前的系统以及大型软件对硬件的要求都很高,我们没钱买更好的配置。所以修改虚拟内存也能起到提高系统性能的作用。Windows 7 的虚拟内存建议为硬件内存的两到三倍。在运行大型软件是,有明显的改善!
1虚拟存储管理的概念
当程序的存储空间要求大于实际的内存空间时,就使得程序难以运行了.虚拟存储技术就是利用实际内存空间和相对大的多的外部储存器存储空间相结合构成一个远远大于实际内存空间的虚拟存储空间,程序就运行在这个虚拟存储空间中.能够实现虚拟存储的依据是程序的局部性原理,即程序在运行过程中经常体现出运行在某个局部范围之内的特点.在时间上,经常运行相同的指令段和数据(称为时间局部性),在空间上,经常运行与某一局部存储空间的指令和数据(称为空间局部性),有些程序段不能同时运行或根本得不到运行.
虚拟存是把一个程序所需要的存储空间分成落干页或段,程序运行用到页和段就放在内存里,暂时不用就放在外存中.当用到外存中的页和段时,就把它们调到内存,反之就把它们送到外存中.装入内存中的页或段可以分散存放.
2虚拟页式存储管理
虚拟页式存储管理和一般的页式管理有相同之处,只不过各进程页表要增加指明每个页面所在的位置,也就是这个页面是在内存还是外存中的具体物理地址.当进程工作到需要使用某个页面时,如果通过查页表发现该页表是在外存中,此时要进行缺页中断处理.也就是暂停当前进程的运行,CPU转而执行缺页中断处理程序,把所需要的页面调入内存,在页表上填写该页面的物理页面号,注名该页面已经进入内存,再恢复当前进程的运行
虚拟内存 - 产生
我们都知道,虽然在运行速度上硬盘不如内存,但在容量上内存是无法与硬盘相提并论的。当运行一个程序需要大量数据、占用大量内存时,内存就会被“塞满”,并将那些暂时不用的数据放到硬盘中,而这些数据所占的空间就是虚拟内存。现在我们也明白为什么pagefile.sys的大小会经常变化了。
内存在计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽。为了解决这个问题,Windows中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。举一个例子来说,如果电脑只有128MB物理内存的话,当读取一个容量为200MB的文件时,就必须要用到比较大的虚拟内存,文件被内存读取之后就会先储存到虚拟内存,等待内存把文件全部储存到虚拟内存之后,跟着就会把虚拟内里储存的文件释放到原来的安装目录里了。下面,就让我们一起来看看如何对虚拟内存进行设置吧。