引用:
作者: 丹楓
請大大指正小弟的疑問,「 Windows 32 位元版本設計的大部分程式真的可以在 Windows 的 64 位元版本上運作」嗎?還是 Win 7 64-Bit 僅能使用 64 位元的軟體呢?
|
引用:
作者: 不飛
這不一定。
有些軟體公司只發行單版本執行程序,
但是在 Windows x86 or x64 下都可以執行,
你硬體上的多核心雖然可以負擔分工,
但是都是以單核心處理程序在系統下執行。
現今比較新出版的軟體依照硬體潮流也分成 x86 或是 x64 兩種版本發行,
你就是買到 x86 的版本安裝到 x64 的 OS 上依然可以執行,
只不過沒有 x64 版本的穩定,
因為微軟不會笨到自己打自己嘴巴硬要消費者配合,
一定會在軟體上做出某種相容修正的補釘來讓他執行,
硬體上也會向下修正的。
這情形就像是 Windows 95 剛剛問世的時候,
也可以兼容並蓄得執行純 DOS 或是 CMD 環境下的程式一樣,
所以相容問題一定不會存在,
一定能夠向下相容的。
|
是的
由於 64 位元系統目前缺乏對應的軟體,多數軟體仍按 32 位元架構編寫。最嚴重的問題是出現在不相容的驅動程式。
儘管 32 位元相容模式 (又稱作模擬模式,即微軟 WoW64 技術)可執行大部分軟體,但通常無法執行驅動程式(或類似軟體),因為驅動程式通常在作業系統和硬體之間執行,無法使用直接模擬。所以在 64 位元作業系統使用 32 位元版本設計的程式會有挫折。
因為裝置的驅動程式通常執行於作業系統核心(kernel)的內部,有可能以 32 位元行程執行核心,同時支援 64 位元的使用者行程。以在核心裡的額外消耗為代價,如此可為使用者提供受益於 64 位元的記憶體和效能,且不破壞現存 32 位元驅動程式的二進制相容性。
這個機制源於 Mac OS X 啟用 64 位元行程,同時支援 32 位元的驅動程式。
WoW64 技術官方文件參考如下:
Best Practices for WOW64
The PC industry is gradually transitioning from an installed base of primarily 32-bit systems to one of primarily 64-bit systems. In the interim, many application developers will continue to build 32-bit versions of their applications or will provide both 32-bit and 64-bit versions. To ease the effort that is involved in porting applications and to help encourage adoption of 64-bit computing, Microsoft provides Windows 32-bit On Windows 64-bit (WOW64), an emulation layer that enables 32 bit Windows-based applications to run seamlessly on 64-bit Windows. This paper defines best practices for building applications that run on WOW64.