
@单带任何图片
许认为页面文件是虚拟内存. 在设置中关闭分页文件意味着虚拟内存已关闭.
这是错误的.
虚拟内存=页面文件+物理内存. 关闭分页文件只更改了虚拟内存的一部分,距离所谓的关闭虚拟内存一百八十英里.
从NT开始,普通应用程序不能直接访问物理内存,只能直接访问虚拟内存,然后CPU将虚拟内存地址转换为物理内存地址. 因此,您打开的软件和您玩的游戏都会访问虚拟内存. (驱动程序应该能够直接访问物理内存,而对它的了解相对较差. )
换句话说,普通程序可以访问的内存必须是虚拟内存. 因此,您根本无法关闭虚拟内存. 由于您关闭了页面文件,因此无法直接更改Windows内存管理机制.

--------------------------------------------------- --------------------
以下内容来自Microsoft对虚拟地址空间的描述.
当处理器读取或写入内存位置时,它将使用虚拟地址. 作为读或写操作的一部分,处理器将虚拟地址转换为物理地址. 通过虚拟地址访问内存具有以下优点:
程序可以使用一系列相邻的虚拟地址来访问物理内存中的大型非相邻内存缓冲区.
程序可以使用一系列虚拟地址来访问大于可用物理内存的内存缓冲区. 当物理内存的供应量减少时,内存管理器会将物理内存页面(通常为4 KB)保存到磁盘文件中. 数据或代码页根据需要在物理内存和磁盘之间移动.
不同进程使用的虚拟地址相互隔离. 一个进程中的代码无法更改另一进程正在使用的物理内存.

进程可用的虚拟地址范围称为进程的“虚拟地址空间”. 每个用户模式进程都有其自己的专用虚拟地址空间. 对于32位进程,虚拟地址空间通常为2 GB,范围从0x00000000到0x7FFFFFFF. 对于64位进程,虚拟地址空间为8 TB,范围从0x000'00000000到0x7FF'FFFFFFFF. 一系列虚拟地址有时也称为一系列“虚拟内存”.
此图说明了虚拟地址空间的一些重要功能.

该图显示了两个64位进程的虚拟地址空间: Notepad.exe和MyApp.exe. 每个进程都有自己的虚拟地址空间,范围从0x000'0000000到0x7FF'FFFFFFFF. 每个阴影框代表一个页面的虚拟内存或物理内存(大小为4 KB). 请注意,记事本进程使用三个相邻页面,其虚拟地址从0x7F7'93950000开始. 但是,虚拟地址的三个相邻页面将被映射到物理内存中的非相邻页面. 还要注意,两个进程都使用从0x7F7'93950000开始的虚拟内存页面,但是这些虚拟页面被映射到物理内存的不同页面.
用户空间和系统空间
诸如Notepad.exe和MyApp.exe之类的进程在用户模式下运行. 核心操作系统组件和多个驱动程序在特权更高的内核模式下运行. 有关处理器模式的更多信息,请参见用户模式和内核模式. 每个用户模式进程都有自己的专用虚拟地址空间,但是所有在内核模式下运行的代码共享一个称为“系统空间”的虚拟地址空间. 当前用户模式进程的虚拟地址空间称为“用户空间”.

在32位Windows中,总的可用虚拟地址空间为2 ^ 32字节(4 GB). 通常,较低的2 GB用于用户空间,较高的2 GB用于系统空间.

在32位Windows中,您可以在启动时为用户空间指定2 GB以上的空间. 结果是系统空间中可用的虚拟地址较少. 您可以将用户空间的大小增加到3 GB,在这种情况下,系统空间仅为1 GB. 要增加用户空间的大小,请使用BCDEdit /设置gainuserva.
在64位Windows中,虚拟地址空间的理论大小为2 ^ 64字节(16万亿字节),但实际上,仅使用了160亿字节范围的一小部分. 从0x000'00000000到0x7FF'FFFFFFFF的8 TB用于用户空间2g内存设置页面文件,从0xFFFF0800'00000000到0xFFFFFFFF'FFFFFFFF的248 TB部分用于系统空间.

以用户模式运行的代码可以访问用户空间,但不能访问系统空间. 此限制可防止用户模式代码读取或更改受保护的操作系统数据结构. 以内核模式运行的代码可以访问用户空间和系统空间. 也就是说,以内核模式运行的代码可以访问当前用户模式进程的系统空间和虚拟地址空间.

以内核模式运行的驱动程序在直接从用户空间地址读取或写入这些地址时必须非常小心. 这种情况说明了原因.
用户模式程序启动一个请求,以从设备读取一些数据. 该程序提供缓冲区的起始地址以接收数据.
以内核模式运行的设备驱动程序例程将启动读取操作,并将控制权返回给其调用程序.
然后,设备中断所有当前正在运行的线程,以显示读取操作已完成. 该中断由在此任意线程上运行的内核模式驱动程序例程处理2g内存设置页面文件,该线程属于任何进程.
这时,驱动程序不得将数据写入用户模式程序在步骤1中提供的起始地址. 此地址位于发起请求的进程的虚拟地址空间中,该地址可能与当前的过程.
页面缓冲池和非页面缓冲池
在用户空间中,可以根据需要将所有物理内存页面分页到磁盘文件中. 在系统空间中,可以对某些物理页面进行分页,而另一些则不能. 系统空间具有两个用于动态分配内存的区域: 分页池和非分页池. 在64位Windows中,页面缓冲池是128 GB的虚拟地址,范围从0xFFFFA800'00000000到0xFFFFA81F'FFFFFFFF. 非页面缓冲池是一个128 GB虚拟地址,范围从0xFFFFAC00'00000000到0xFFFFAC1F'FFFFFFFF.
可以根据需要将页面缓存池中分配的内存分页到磁盘文件中. 在未分页的池中分配的内存永远无法分页到磁盘文件.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-181889-1.html
就被打沉好几艘
就像看到的一张图上说