微軟布局術(shù):三大操作系統(tǒng)為何分裂如何統(tǒng)一?
Windows,WindowsRT,WindowsPhone,微軟這三個操作系統(tǒng)品牌之間是什么關(guān)系?微軟為什么維持三個面向消費(fèi)者的操作系統(tǒng)?它們未來會不會走向統(tǒng)一?阻礙系統(tǒng)融合的障礙是什么?
目前,微軟有多個面向客戶的Windows衍生品牌,如:32位(x86)和64位(x64)個人電腦上使用的Windows8.1,ARM平板上使用的WindowsRT,以及智能手機(jī)使用的WindowsPhone。據(jù)Canalys公司的調(diào)查分析,三個操作系統(tǒng)中至少有一個是多余的。而WindowsPhone和WindowsRT這兩個系統(tǒng)被定位為“具有相似的開發(fā)人員和客戶”,更是令人感到困惑。既然兩個操作系統(tǒng)都能應(yīng)用到智能設(shè)備,那就出現(xiàn)一個問題——為什么智能設(shè)備上要有兩個操作系統(tǒng)?
Canalys的報告不過是事后諸葛。就在上周,微軟設(shè)備與音像工程組的組長朱麗.拉爾森-格林在一個瑞銀投資會議上就表示微軟未來“不會繼續(xù)擁有三個操作系統(tǒng)”。拉爾森-格林還簡要描述了兩種操作系統(tǒng)的不同需求—靈活處理不同的任務(wù),一個鎖定以移動,另一個追求高性能。
從某些方面來講,令人高興的是這可以說明WindowsRT系統(tǒng)確信將被封殺。來自瑪麗喬弗里的傳言似乎證實(shí)了這一點(diǎn):WindowsPhone系統(tǒng)功能將會擴(kuò)展。這種擴(kuò)展首先是在2014上半年WindowsPhone發(fā)布的8.1版本中,然后是在2015年上半年發(fā)布的更新版本中。WindowsPhone的這種擴(kuò)展將會使它的API(應(yīng)用程序編程接口)與WindowsRT的相同,應(yīng)用程序可同時應(yīng)用于手機(jī)和平板電腦。因此,WindowsRT的市場將會被擠掉。
可以推測依然會有不同的系統(tǒng)扮演不同的角色。
然而,這些都沒有得到官方證實(shí)。微軟公司也沒有提供專門的導(dǎo)向和路線圖。這就依賴于你如何理解格林的話——微軟已經(jīng)不再擁有三個操作系統(tǒng)還是將會一直有三個或者更多操作系統(tǒng)。
針對不同CPU,本質(zhì)是同一系統(tǒng)(Windows/WindowsRT)
從某些方面來講,微軟說是三個操作系統(tǒng),這其實(shí)是一種誤導(dǎo)。微軟實(shí)際上沒有三個客戶操作系統(tǒng),而是三個品牌。WindowsRT系統(tǒng)和與英特爾處理器兼容的Windows系統(tǒng)實(shí)際上并不是兩個完全不同的系統(tǒng)。從性能上來講,它們其實(shí)是一個操作系統(tǒng)“Windows”為兩個不同的處理器架構(gòu)而編譯的。
ARMWindows系統(tǒng)比32位的Windows系統(tǒng)具有更嚴(yán)格的安全限制。WindowsRT(WindowsonARM)官方僅支持支持用新版的WinRTAPI編寫的第三方軟件。但是WindowsRT發(fā)布后,開發(fā)者很快發(fā)現(xiàn)如果破解掉額外的安全限制,就可以運(yùn)行Win32API編寫的所有Windows軟件,當(dāng)然需要為ARM重新編譯。因為該系統(tǒng)的所有組件都是Windows系統(tǒng)現(xiàn)成的,只不過一些部分被重新封裝,所以看起來該系統(tǒng)整個就像是一個Windows用戶界面。
WindowsRT還造成兩個不相關(guān)的影響。第一個是使用ARM處理器。第二個是默認(rèn)的的軟件環(huán)境。這兩個問題都難以解決。得益于最新發(fā)布的Atom處理器,未來英特爾處理器似乎也可能廣泛應(yīng)用于智能手機(jī)上(在過去這絕無可能);然而毫無疑問所有平板電腦和手機(jī)所采用的系統(tǒng)仍將堅定地支持ARM芯片(而不是英特爾)。
拉爾森-格林明確表示,微軟將繼續(xù)擁有一個為移動平臺鎖定式的環(huán)境。這樣看來,RT系統(tǒng)嚴(yán)格的限制性是其一個永久的枷鎖。所以即使其品牌烙印會慢慢褪去,但是其影響依然存在。
Windows和WindowsRT并非微軟已經(jīng)首次開發(fā)可以被多處理器架構(gòu)編譯的操作系統(tǒng)。有時WindowsNT也在AlphaAXP,MIPSR4000和PowerPC604處理器上運(yùn)行。而且不同版本之間也不是普遍的二進(jìn)制兼容,例如可以在PowerPC上執(zhí)行的未必可以在32位系統(tǒng)上運(yùn)行,即使兩者都可運(yùn)行WindowsNT——這是一個特例,因為32位的軟件可以利用一個系統(tǒng)集成的32位模擬器在Alpha系統(tǒng)上運(yùn)行。但可能是由于人們購買(或者更多時候根本不買)這些WindowsNT系統(tǒng)的多樣性,微軟而沒有意識到有必要給這些系統(tǒng)專門命名。
然而對于針對普通消費(fèi)者的操作系統(tǒng)而言,就不能如上述那樣模糊處理。精確傳達(dá)不同品牌的兼容性非常重要。問題一目了然:微軟目前所做的努力是否真的能讓消費(fèi)者分清x86Windows和WindowsRT?WindowsRT貌似可以運(yùn)行32位Windows系統(tǒng)的程序,但事實(shí)上這并不可能。雖然它看起來確實(shí)像32位Windows系統(tǒng),甚至還擁有同一個桌面、IE瀏覽器和Office辦公軟件。這令消費(fèi)者十分困惑,難以去分清這兩個品牌的真正區(qū)別。
這似乎像是雞蛋里挑骨頭,但從發(fā)展的成效和軌跡上來看卻絕非如此。微軟并不是在Windows和WindowsRT之間開發(fā)兩個相互競爭的、不兼容的、不統(tǒng)一的平臺,而是在做同一個操作系統(tǒng)并且對之進(jìn)行二次編譯。在WindowsRT上運(yùn)行的軟件也能在Windows8上運(yùn)行,最好的情況是無需更改任何代碼(針對用.NET、HTML/JavaScript語言編寫的軟件),最壞的情況是需要進(jìn)行重新編譯(針對用C++語言編寫的軟件)。
不同的API,WindowsPhone是孤立的系統(tǒng)
與它們差別最大的是WindowsPhone系統(tǒng)。WindowsPhone7以WindowsCE為內(nèi)核(WindowsCE是微軟公司最輕量級、可定制、嵌入式操作系統(tǒng)),當(dāng)時它是微軟公司唯一與ARM兼容的操作系統(tǒng)。微軟在把WindowsCE應(yīng)用到智能手機(jī)上擁有豐富經(jīng)驗(WindowsMobile系統(tǒng)也是WinCE的一個變種)。因此WindowsPhone7采用WinCE看起來似乎是一個明智的決定。第三方應(yīng)用程序使用改版的Silverlight開發(fā),該版本是一個附加了很多特定Phone系統(tǒng)組塊的.NET工作環(huán)境。
到了WindowsPhone8,微軟卻選擇了用NT作為內(nèi)核。NT功能更為強(qiáng)大并且微軟公司為之投入了絕大多數(shù)的研發(fā)力量,所以微軟選擇NT作為WindowsPhone8內(nèi)核也在情理之中(不過這對消費(fèi)者是不是好事就另說了)。WindowsRT的開發(fā)意味著Windows也可以在ARM架構(gòu)上運(yùn)行,所以沒有任何理由再堅持使用WindowsCE。WindowsPhone8和Windows8系統(tǒng)共用了很多主要部件,因而兩個操作系統(tǒng)的底層組件諸如網(wǎng)絡(luò)堆棧和安全架構(gòu)等有諸多共同之處。
為了支持已有的WindowsPhone7的應(yīng)用程序,WindowsPhone8基本上包含了Phone7上相同的Silverlight工作環(huán)境。然而,WindowsPhone8新的應(yīng)用程序卻不能使用該環(huán)境。開發(fā)者有兩個選擇,其一是一個與舊的Silverlight環(huán)境相似的新.NET環(huán)境(雖然是完整的.Net運(yùn)行環(huán)境,但是卻缺乏Silverlight體系所支持的XNA3D圖形API);其二是采用帶Direct3D支持(微軟公司的3D繪圖接口)C++原生代碼。
值得注意的是,WindowsPhone應(yīng)用程序不僅不能使用Win32的API,而且也不能使用大部分新WinRT的API。
如果開發(fā)人員想在平板和手機(jī)應(yīng)用間共享代碼,也并非全無可能。這不是沒有可能,因為有可能編寫出一種同時適用于手機(jī)和普通Windows系統(tǒng)的功能共享的.NET代碼,開發(fā)者稱之為“便攜類庫”(PortableClassLibraries)。而且,WindowsPhone8系統(tǒng)將允許C++語言的開發(fā)者訪問WinRTAPI(有時我們也稱之為WinPRT)的受限子集和Direct3D的大部分功能。來自T.保羅的消息說,在手機(jī)和非手機(jī)操作系統(tǒng)之間大約有33%的相似度。
這使得WindowsPhone8系統(tǒng)成為一個奇怪的孤立系統(tǒng)。WindowsPhone8與Windows、WindowsRT之間共同的API很少。所以蘋果的iOS系統(tǒng)和安卓系統(tǒng)的手機(jī)應(yīng)用程序可以同時使用在平板電腦上,WindowsPhone的應(yīng)用程序卻依舊被限制僅在手機(jī)上運(yùn)行。