您的位置首页百科词条

32位win7是否可以读出来4G内存?

32位win7是否可以读出来4G内存?

的有关信息介绍如下:

32位win7是否可以读出来4G内存?

其实32位系统可以用满4GB,但不是给一个程序用,也就是说整个系统的所有程序(包括系统自身)使用的内存总和可以达到4GB,但单个程序最多可以使用2GB内存(特殊设置之后可以使用3GB)。网上流传的所谓“64位系统才可以用满4GB内存”是不准确的。造成这个问题的原因在于Windows——以及绝大多数主流操作系统的内存分配的原理。现代操作系统中,应用程序工作于保护模式,物理内存的地址与握晌应用程序中内存的地址间不是简单的对应关系,而是一组由操作系统定义的映射。物理内存以4KB为单位,映射码局到应用程序的内存地址空间(32位)中,在访问时CPU自动进行地址转换。限制系统使用的内存总大小的因素在于物理内存分页表的页地址用20位二进制数表示,乘以4KB之后可以发现这个值就是4GB,这也是操作系统所能使用的物理内存的大小。64位操作系统则可以突破这个限制。另外说一句,应用程序的内存地址空间除了可以映射到物理内存,还可以映射到硬盘上的特定文件(即所谓“虚拟内存”)。而限制单个进程使用内存大小的因素在于应用程序的内存地址空间是32位的,理论上能访问4GB的内存空间;但在内存映射的规则中,第31位为1的内存(0x80000000 - 0xffffffff)是系统内存,应用程序一般无法访问,因此实际能用的地址空间是2GB。64位应用程序使用64位地址空间因此没有这个限制。但在64位操段模锋作系统上运行32位应用程序,一样会遇到2GB的内存限制,因为仍然是32位地址空间,所以“升级到64位操作系统”是不能帮助32位应用程序使用更多内存的。