64位的Windows并不是簡單地把所有東西都編譯成64位就萬事大吉的。關于64位的CPU應該做成什么樣子,Intel和AMD曾有各自的打算。AMD的回答直接了當:新的64位處理器,應該能在提高更高處理能力的同時,保持對32位應用程序的兼容性。而Intel則希望借此機會,把下一代的處理器,設計得更完美。于是,就有了AMD的x86-64(后被稱為amd64)的處理器和Intel的IA-64(安騰)處理器。和amd64不一樣的是,安騰處理器并沒有很好地提供對32位應用程序的支持。具體信息,讀者在網上應該很容易找到,也就不多說了。
Windows作為一個操作系統,自然希望用戶在運行64位操作系統時,也能像以前一樣,運行各種32位應用程序。這一點,在amd64處理器上,相對容易做到。而安騰,幾乎是另外一回事。(后來Intel也生產了兼容amd64的處理器,但那是后話。)
雖然我說“相對”容易做到,但也不是空手套白狼。當操作系統運行在64位時,怎么才能保證已經存在的32位應用程序以為自己仍然運行在32位系統上呢?微軟的解決方案是:Wow64,全稱是32bit Windows On 64bit Windows(64位Windows上的32位Windows)。
你也可以這樣理解,雖然整個系統是運行在64位模式,但如果一個應該程序是32位的,Windows會在64位的基礎上,加載一個“32位的Windows”。這樣,這個32位應用程序就以為自己是運行在32位的系統之上的。
于是,你也可以想象,這就意味著,64位的Windows,不但帶有64位操作系統應有的系統文件,還帶有32位系統應有的系統文件。
我們都知道的是,Windows系統的主要系統文件都是放在一個叫做System32的文件夾中的。為了能同時放下兩套系統文件,Windows會在64位的系統上,增加了一個文件夾,叫SysWow64。
這便有了一個問題,System32和SysWow64里面,哪個放的是64位的系統文件,哪個放的是32位的系統文件呢?
如果你還記得Wow64指的是64位Windows上的32位Windows,那么,你就能會想到,SysWow64里放的是32位的系統文件。但你也可能會問,為什么一個明明叫System32的文件夾裝的是64位的系統文件,而一個明明叫SysWow64的文件夾裝的卻是32位的系統文件呢?既然是64位的系統,為什么不能有System64和System32這樣的文件夾呢?
這個問題問得很好。答案也很簡單:人在江湖,身不由己。
兼容性
如果我問你,可曾有多少機會接觸過安騰處理器呢?我想,對于一般人來講,應該是沒有的。那為什么amd64會大行其道,而安騰處理器卻鮮為人知呢?還是因為一個軟硬件設計上的關鍵概念:兼容性。
正是因為安騰處理器,沒有做好對已有的32位系統提供良好的支持,便其一直處于市場的邊緣。這和你不會買一臺看不了模擬信號頻道的高清電視是一個道理。
新聞熱點
疑難解答