INTEL对决AMD!64位XP系统正式版搏杀
Windows用户对于Windows程序的通用性感到很满意,因为他们可以将一个程序在XP和 2000下通用,不用像在Windows 98/Me中和在Windows 2000/XP中那样需要下载并安装不同的程序。不过,当转移到64位平台后,微软很清楚地意识到,不可能让用户一下子放弃所有的32位应用程序,于是为了同时能够支持32位和64位程序,模拟层(可能叫这个不太合适),即WoW64技术诞生了。
WoW64(全称Windows on Windows 64)执行层在Windows XP x64 Edition中的内核一直运行(可以将其理解为一个服务),有了它后,就可以保证在64位的系统中执行32位程序。不过,这里运行的32位程序是有限制的,它们无法访问64位的DLL,而且也无法超过32位的寻址空间限制。32位程序在WoW64上运行时,在访问注册表信息时同样会受到限制,也无法使用Microsoft''s 64-bit .NET架构。不过,微软已经考虑了这一点,将所有核心程序及DLL放在了\\windows\\SysWOW64文件夹下,这样就可以让32位程序更好地在64位环境中运行。
同时,微软还承认在Windows XP x64 Edition中通过WoW64 技术运行32位应用程序会导致系统性能的降低,不过不是很明显。和在Intel Itanium上运行不一样,在其上运行32位应用程序时是慢得出奇。你将会看到下面的列表,多数的程序在Windows XP x64 Edition 环境中运行几乎和在32位的环境中运行的速度一致,最多只会慢出1-2%。
WoW64(Windows On Windows 64)技术架构的示意图
WoW64技术允许32位程序在Windows x64 Edition环境下直接运行,不需重新编写编码,也无需重新编译。这对于想转移到64位平台上的人来说是一个很大的福音,这意味着以前工作不至于浪费。而且,它几近为0的性能降低也给我们很多惊喜。在我们测试的三四十款32位应用程序中,95%的运行起来没有问题,只有少数的在启动时给出了错误提示,并无法运行下去。因此,转移到64位平台比当时从16位转移到32位时要好得多。
32位的程序在运行时,会在Windows的任务管理器中显示一个*32的标记(如下图),向用户表示这些是32位程序。下面的图是在64位系统上抓的,正在使用的是32位的iTunes和iPodService.exe,它们后面都被打上了*32 记号。我们运行64位版的 Sciencemark 2.0 beta时,它则显示了ScienceMark2.exe ,表明它是64位的程序,而将其显示为一个标准的进程。打开任务管理器后,一眼就可以看出哪个是64位程序,哪个是在WoW64上运行32位程序。
64位进程显示为正常,但是32位进程后面有一个*32标记
当在64位环境中运行64位的可执行文件时,你可能根本看不到有什么性能提升,也有人可能会感觉到有很大的提升。不过,微软声称其会有10-15% 的提升,当然这只是一个平均值。每个应用程序运行起来效果是不一样的,对于FPU依赖性较强的程序肯定会看到更好的效果,而且对于内存消耗较大的软件在x64 Edition上运行起来性能提升肯定也较明显。
到目前为止,市面上只有少数正式版的64位应用程序可在64位系统中运行,多数还是处于测试阶段。在见到更多更好的64位程序可能还需要一段时间,不过,微软已经在其系统中提供了64位的记事本(Notepad)、纸牌游戏( Solitaire)、命令提示符(Command Prompt in x64 Edition)。