32位操作系统能支持4G以上内存原因

 

1)  为什么32位的系统可以使用超过4GB的内存?
只要CPU、主板、操作系统都支持并启用PAE(物理地址扩展),那么此时的物理内存地址总线就是36位。
2^36 = 68719476736 = 64 GB
另外,当前的x64并非真正使用64位的地址总线,而是48位,所以内存上限是 2^48。
所以,现在的32位系统并非纯正的“32位”;x64并非纯正的"64位"。
2)  为什么Windows 2003 32位版本最高可以支持128GB内存?
20090417修正 by fujianabc:
自P4、K8以后的32位CPU,物理地址地址都是40位,所以可以支持128GB
详细见此贴。
3)  为什么主板支持4GB内存,并且已经安装上4GB内存,但32位Windows只能使用3.1GB?
原因有两个:
3.a, 受限于Windows 的许可证限制。
Windows内核会在系统启动时检查当前操作系统的许可,从中确定当前允许使用的物理内存最大值。
例如Windows XP/Vista许可的上限为4GB。
3.b, 主板,及其上面的各种PCI设备的资源的限制。
主板必须支持超过4GB以上内存,并且必须支持内存重影射功能

你可能感兴趣的:(操作系统)