Windows 7中的XP模式為放棄32位打基礎
為什么Windows 7中的XP模式有可能改變微軟設計未來操作系統的方式呢?Windows 8只運行64位代碼,而絕不提供32位代碼的本地支持。
大多數人認為Windows 7的XP模式僅僅是一種向后兼容機制。本文將為我們解釋為什么該功能有可能改變微軟未來設計操作系統的方式?,F在我們都已經知道Windows 7中存在XP模式。但你可能沒有意識到XP模式的存在絕不僅僅是保持向后兼容性。這一技術預示著Windows未來產品將發生一些改變。
當微軟***次對外宣布Windows 7中將包含XP模式以保持向后兼容性的時候,網上的大多數報道聽起來像是說Windows 7將配備一個有完全授權版本的XP運行于虛擬機上。
筆者對于這些報道卻沒有給予很多關注。畢竟,你可以使用Virtual PC 2007 運行虛擬機中的XP。即便微軟推出了Windows XP許可證,大多數需要這一功能的人都會呼吁Windows XP許可證。因此,筆者錯誤地認為,Windows XP模式只是一種營銷噱頭,目的只是說服公眾Windows 7不會出現Vista中向后兼容性的問題。
而筆者后來發現,營銷噱頭只是一部分事實,這一功能的推出還有其他方面的考慮。
或許你已經聽說Windows XP模式將以Virtual PC技術為基礎。這確實是事實。但遺憾的是,Virtual PC運行速度很慢,效率也低,因為早期的虛擬PC必須將所有的客戶機硬件調用傳送到主機操作系統。不過,Virtual PC 2007通常支持硬件輔助虛擬。
Virtual PC 2007中硬件輔助式虛擬不是一個基于Hyper-V管理程序,但是當你啟動基于硬件設備的虛擬機時,客戶機的運行速度要快一些。請記住,Windows 7將要使用更新的Virtual PC代碼。該代碼同樣不是基于Hyper-V,但是如果在Windows 8中Hyper-V成為一種標準,我們也不會感到意外。
下一個要談論的是Windows 7將提供Windows XP模式。如果你想啟動Windows XP模式,那么意味著你要下載一個插件。該插件會被作為帶外更新,將免費提供給所有使用Windows 7專業版,企業版以及旗艦版的用戶。
現在要看看真正重要的部分——當你需要以Windows XP模式運行應用程序時,那些應用程序不會僅僅是運行在虛擬機中。實際上,他們確實會在虛擬機中運行,但是不僅僅是虛擬機的圖形用戶界面可以運行應用程序。你可以在Windows 環境中安裝應用程序,但是在Windows 7界面只能夠運行該程序以及其他程序。
顯然,我們可以很方便地運行傳統程序和更新一點的程序,不過***你會問為什么在文章一開始我們就說XP模式在Windows 7中的出現預示著未來的Windows產品將發生改變呢?
為了理解這個問題,我們要從歷史的角度來分析。Windows 95是微軟首款32位Windows。不管怎樣,Windows 95是為32位應用程序設計的,但是在當時,許多人都還在使用16位的程序。為了便于使用這些傳統程序,微軟開發了用于Windows 95的16位互斥體。架構執行的方式將16位代碼和32位代碼隔離開來,其中甚至還存在一個用于16位程序的單獨多任務處理引擎。當論及多任務處理時,所有的16位引擎被集體視為一個單獨的32位程序。
今天,我們在新的Windows中遇到了類似的情況。64位Windows XP和Vista可以運行某些32位代碼,但是這些代碼必須與64位代碼隔離開。這些與Windows XP模式有什么關系呢?Windows XP模式是***代功能,因此它只會運行用戶運行基于XP的虛擬機。但是它會大大簡化Windows 操作系統的操作。
可以想象,如果微軟試圖完全實現對XP的向后兼容性但不使用虛擬技術的話,Windows 7將會變得很容易出錯。筆者認為Windows 7可能會比Vista要慢一點,缺乏可靠性一點。通過微軟提供的方式執行Windows XP模式,微軟可以不建立特殊的向后兼容機制來設計Windows 7。
客觀點說,Windows 7中不會有特別出彩的地方。我們都知道,Windows 7是建立在Vista內核之上的。盡管如此,筆者認為Windows 7是微軟邁出的很大一步。Windows 8將會是更簡單,更有效的操作系統,而且微軟將提供以虛擬技術為基礎的向后兼容性插件。
換句話說,我們期望Windows 8只運行64位代碼,而絕不提供32位代碼的本地支持。那些需要運行32位代碼的人或許要下載插件來實現對32位的支持,而其他人則不需要對此有什么擔心。至于操作系統兼容性方面也是同樣的道理。如果有人要運行針對XP設計的應用程序,那么他們或許要先下載一個Windows XP插件才可以。
當然,很大程度上說這只是筆者主觀的意愿,然而,微軟已經為這種愿望打下了基礎,而我們所描述的這些可能性似乎也合乎邏輯。微軟提供了名為Application Virtualization的產品,該產品以前被成為SoftGrid。它旨在讓不兼容的程序并排運行。雖然這一產品是企業產品,但是卻沒有什么因素阻止微軟將類似的功能應用到操作系統上。微軟可能會提供虛擬化模塊在操作系統中運行應用程序,而不是為單獨的應用程序使用自包含的虛擬機。
【編輯推薦】