Memory 了解32位应用程序的虚拟内存限制

Memory 了解32位应用程序的虚拟内存限制,memory,virtual,Memory,Virtual,请帮助我理解这一点: 如果我的机器有2GB的Ram(物理内存),在32位机器中我还会有4GB的虚拟地址空间吗 我在某个地方读到,32位应用程序的最大虚拟地址空间限制为2GB。 如果我总共有4 GB VAS,那么操作系统将使用1 GB。因此,还剩下3 GB供应用程序使用。如果我有两个应用程序同时使用2 GB内存运行,我想知道它们是否可以工作,因为我们只剩下3 GB。这就是分页的原因吗?在32位安装上,默认情况下,只有2 GB可供进程自己使用。其他2GB由操作系统使用。在以后的32位版本的Micro

请帮助我理解这一点:

如果我的机器有2GB的Ram(物理内存),在32位机器中我还会有4GB的虚拟地址空间吗

我在某个地方读到,32位应用程序的最大虚拟地址空间限制为2GB。
如果我总共有4 GB VAS,那么操作系统将使用1 GB。因此,还剩下3 GB供应用程序使用。如果我有两个应用程序同时使用2 GB内存运行,我想知道它们是否可以工作,因为我们只剩下3 GB。这就是分页的原因吗?

在32位安装上,默认情况下,只有2 GB可供进程自己使用。其他2GB由操作系统使用。在以后的32位版本的Microsoft Windows上,可以将用户模式虚拟地址空间扩展到3 GiB,而内核模式虚拟地址空间只剩下1 GiB,方法是将程序标记为IMAGE_FILE_LARGE_address_AWARE,并在boot.ini文件中启用/3GB开关


如果您想运行两个应用程序,每个应用程序都有2GB的内存,那么当其中一个应用程序试图使用已被占用但操作系统未占用的内存时,您将遇到内存异常。

我在这里得到了澄清: