那么,是不是32位系统就真的不能识别出4G内存了?也不是。我们知道在内存中会有700多MB的空间被硬件地址或接口所占用,那我们能不能通过某种手段,让它们去占用硬盘上的空间(类似虚拟内存),而不占用物理内存,这样4G内存不就可以完全被识别了么?没错,这种方法的确可行,于是现在有了一种名为PAE的技术,中文叫做物理地址扩展,这是硬件设备上提供的技术,不过这种技术需要系统的支持,比如32位的Windows Server 2003可以很好的支持这个技术,但是Vista的支持就不太好,至于Windows 7,大家可以用用看。
第二个问题很重要,兼容性好坏是一个系统上天堂或是下地狱的重要因素,在Windows 7中,32位的系统兼容性非常出色,不过64位的系统兼容性依然有一定的风险,虽然已经有很多软件已经更新到兼容于64位的版本,但是用户依然要在64位的系统上运行大量的32位软件,这就有可能带来风险。在32位系统中,程序运行所需要的DLL(动态链接库)储存在C:\的Windows\System32下,而64位系统中32位库在C:\的Windows\SysWow64中。32位程序试图从system32中加载库的时候,WOW64(Windows On Windows 64-bit)负责重定向他。同样,程序在调用注册表时也是需要进行一次重定向,WoW64重定向HKLM\Software到HKLM\Software\Wow6432Node,WoW64相比其他的虚拟化机制,更能保证软件兼容性,通常,这些重定向工作的很好,但是任何复杂层都可能造成不可预见的问题,这个问题的表现就是不兼容。另外,如果你的电脑中还有16位的软件,那么在64位的系统中将会肯定的不兼容,这也是我们需要提前考虑的问题。