IBM早在20世紀90年代豪賭微內核,看好它是操作系統領域的下一大技術,為此不惜耗費數十億美元,最后卻沒多少成果。
20世紀90年代早期,我們不知道計算機行業的發展方向,下一代技術是什么樣,甚至不知道驅動因素是什么。當時所有的開發人員都知道,服務器機房中或臺式計算機機上的操作系統根本不夠好;下一代操作系統需要更好,確切地說要好得多。這說起來容易做起來難,但出于某種原因,這個問題讓一家公司比其他任何公司更絞盡腦汁,那就是IBM。在過去這十年,這家公司比其他任何公司更著迷于操作系統,可惜到頭來沒多少成果。問題出在哪里?IBM可能為內核熱而瘋狂。本文解釋了IBM為何迷戀于操作系統,可惜最終一敗涂地。
1991年
Linux之父Linus Torvalds在這一年首次宣布開源操作系統Linux。(他說:“純粹是業余愛好,不會像gnu那樣龐大而專業。”現在看來他完全說錯了。)后來證明這則宣布對現代計算界而言事關重大,Torvalds構建內核的初期嘗試不是那一年的唯一嘗試,當時IBM正在這方面開展研究工作。
IBM如何成為90年代操作系統失敗的典例?
簡單來說,個人計算機革命常見的情節主線就像這樣:IBM想為企業界制造臺式計算機,使用現成部件來制造,包括商業合作伙伴微軟從Rod Brock那里收購的操作系統。
微軟隨后意識到它與IBM的交易并非獨家的,硬件公司搞清楚了如何對早期PC進行逆向工程,蘋果做出了微軟后來“借鑒”的產品,個人計算機革命就這樣蔚然成風。當然,凡是買過Commodore 64、ZX Spectrum或MSX的人都知道,實際情況比這更加復雜,忽略了大部分的歷史真相,包括參與早期PC革命的那些公司開發的一些產品。
然而,IBM PC克隆機和軟件的崛起使得許多公司在90年代初期淪為了旁觀者。
出人意料的是,其中一家公司居然是IBM。
當然,IBM在那個時代可謂順風順水:該公司發布了第一批ThinkPad;IBM成了龐然大物,朝多個方向發展,以至于不可能崩塌。但IBM還未來得及慢慢品嘗PC的勝果,克隆機制造商們已將這家公司變成商業計算市場中的另一個玩家,而IBM想要做得更好。
現在,如果你稍微精通技術,可能會覺得在這番開場白后,我會談論OS/2,這個操作系統是微軟和IBM決裂的焦點。不過雖說OS/2無疑是故事的主角,但不是唯一的主角。 IBM有比這更宏大的計劃。
IBM想要構建各大操作系統都離不開的內核:為此它同時開展兩個項目(而不是一個項目),著力開發全新的操作系統技術。
這兩個項目都很大膽,但由于與另一家公司關系更密切的某個軼聞:關于藍色、紅色和粉紅色卡片的故事,一個項目比另一個項目更被人們所記住。
三套卡片,兩種命運
20世紀80年代末蘋果完成員工重組后,開了一次異地會議,目的是試圖在史蒂夫離開后的時代探索Mac OS的未來,當時喬布斯和沃茲尼亞克已離開了這家公司。
大致來說,卡片是頭腦風暴會議的產物:藍色卡片代表對Mac OS的近期更改,粉紅色卡片代表長期更改,而紅色卡片代表更為高級的更改(這種情況下,紅色好比是更深的粉紅色)。
這些卡片最終如同兩個團隊的行軍令:藍色卡片帶來了Mac OS System 4中的新功能,粉紅色和紅色卡片是長期計劃的一部分。遺憾的是,規模較小的粉紅團隊無法在合理的時間內實現這些功能,成為了“范圍蔓延”(scope creep)的受害者,后來做出這個決定:開始全面開發一種新的操作系統,使用一種名為微內核的模式,微內核實際上構建了一個極簡的軟件層,可以通過它處理所有任務。這項工作最終與Mac OS完全獨立開來。
這時候IBM重新發揮了作用。粉紅團隊的工作持續時間長,但在90年代早期非常先進,而且與IBM計劃為其Power Systems系列推出一款新的處理器系列很吻合。
這番合作導致蘋果使用相關的PowerPC處理器系列,但它也促成了一家名為Taligent的新公司――蘋果的粉紅團隊和IBM自己的員工將開發對Mac OS來說太過龐大的這款未來操作系統。1991年10月《紐約時報》的新聞標題令觀察人士大跌眼鏡:“IBM現在是蘋果的主要盟友。”
代表那一代人心聲的John C. Dvorak在1994年《PC Magazine》雜志上的一篇專欄文章闡述了這家公司的終極計劃:“Taligent在這個世界上扮演的角色是創造這樣一個環境,我們購買的一款款應用程序都直接做入到操作系統中。由于應用程序是可編程的,你可以組建成自己的定制套件。Taligent也許會終結我們所知道的所有應用程序。”
大膽的想法。然而,這不是IBM在這方面的唯一項目,也不是最大膽的項目。
“它不是明天的最佳操作系統,就是滑鐵盧式的慘敗。”
John C. Dvorak早就對IBM在大肆宣傳的Workplace OS上耗費的心血下了正確的結論,IBM在整個90年代早期都在開發這個基于微內核的項目。
一個微內核一統天下
這邊廂Taligent剛起步,那邊廂IBM的員工已經在研發自己的微內核,基于卡內基?梅隆大學的MACH微內核方面開展的現有工作。
IBM大力開發的系統叫什么?Workplace OS。使命是什么?想成為處于另外每款操作系統核心的操作系統,就是這樣。
由于當時IBM對眾多操作系統都有興趣,除了OS/2和Taligent外,它還在MS-DOS、Windows和操作系統標準POSIX方面擁有名正言順的話語權,此外還有它自行開發的操作系統OS/400和AIX,當時后者可能最接近操作系統界的核心。隨著人們對微內核越來越有興趣,一方面是由于微內核在可靠性方面有優點,IBM有能力推進其愿景,它之所以試圖推進愿景,一方面是由于它覺得讓不同的操作系統有一個標準的基礎可以省錢。
(然而為了省錢卻付出了高昂的代價:加州大學河濱分校的研究人員Brett D. Fleisch和Mark Allan A. Co在1997年的事后分析中指出,IBM花了近20億美元試圖讓Workplace OS取得進展,這筆資金約占IBM五年期間總收入的0.6%。)
至少可以說,Workplace OS很大膽――順便說一下,其在內核方面的野心實際上橫掃Taligent自己的微內核,不過并不橫掃Taligent項目本身。這個概念立足于所謂的“操作系統大統一理論”(GUTS),實際上旨在圍繞常見的操作系統構建標準子系統,以便不同的軟件可以使用相同的基本服務,即使它們使用不同的操作系統。
這是個好主意,盡管很大膽,說好聽點其使命是讓操作系統更高效地工作。但說難聽點,IBM似乎試圖在PC界重新成為霸主。
就是有一個問題:微內核還沒有準備好完成IBM希望它完成的重任。
“沒錯,Linux是整體式的,我同意微內核更棒。對于一個爭議較少的話題,我可能會基本上同意你所說的。從理論上和美觀上的角度來看,Linux落于下風。如果GNU內核在去年春天已經準備好,我甚至懶得開始搞我的項目:事實上GNU內核未準備好,現在仍未準備好。就現在可用這點而言,Linux大獲全勝。”
Linus Torvalds在1992年發表在Usenet新聞組comp.os.minix上的帖子中這樣回應。起因是MINIX的開發者Andrew S. Tanenbaum發帖子稱,Linux已經過時,一方面是由于Linux使用了更傳統的整體式內核;在這種內核中,操作系統最基本的部分都在內核本身內部加以管理,而不是像使用微內核那樣作為服務分離出來。Torvalds和Tanenbaum之間的爭論家喻戶曉,一方面是由于Torvalds直接受到Tanenbaum在MINIX方面的工作的啟發,但他最終選擇了擁有性能優勢的整體式內核。
OS/2 Warp Connect for PowerPC,使用Workplace OS的第一個也是最后一個操作系統。(圖片來源:OS/2 Museum)
為何IBM試圖重塑操作系統的計劃沒有成功?
IBM擁抱的微內核概念并非不切實際的概念。
當時已有足夠的證據表明開發一種基于MACH內核的操作系統是值得的――畢竟,NeXTSTEP操作系統(后來成為現代MacOS的基礎)是從MACH內核發展起來的。當時相比許多操作系統,NeXTSTEP運行起來穩若磐石。
但IBM的野心加上微內核模式的一些技術弱點最終導致沉船。無論是對外部合作伙伴來說,還是對長期合作伙伴來說,IBM在90年代早期操作系統方面異常大膽的舉措(尤其是與蘋果的合作)似乎沒有多大意義。
1991年《紐約時報》的一篇文章披露了微軟與IBM之間圍繞OS/2的分歧,時任微軟系統軟件高級副總裁、后任職CEO的Steve Ballmer當時暗示,操作系統方面兩方面試水的做法直接導致這兩家公司之間出現鴻溝。
Ballmer說:“我無法告訴你IBM的戰略是什么,但我確實知道它沒有在與我們合作。這對我們有利,因為IBM的客戶也無法理解它。”
當然,結果證明Ballmer是對的,因為IBM在操作系統領域的復雜項目未能風靡世界(當然,OS/2確實有其擁躉。)
微內核的問題涉及兩方面,至少IBM的情況是這樣:一是,將它整合起來并滿足所有這些彼此競爭的需求非常復雜,IBM在這個項目上花費數十億美元就表明了這一點;二是,微內核在設計上犧牲速度以換取穩定性――IBM很快意識到服務器客戶絕對不想要這樣,這導致該公司背棄原來的Workplace OS承諾。按照上述加州大學河濱分校的事后分析:
IBM的內部討論專注于AIX。最后,在1993年Comdex展會上,IBM董事會主席郭士納宣布微內核不會取代AIX。IBM意識到許多AIX用戶不會接受微內核系統引起的性能下降。 IBM還擔心微內核對直接在硬件上運行的高性能HP或Sun Unix系統造成競爭障礙。相反,郭士納告訴AIX客戶,如果他們以后感興趣,可以遷移到Workplace OS。
該計劃的AIX部分最終被擯棄,但Workplace OS工作仍在繼續,目標是將Workplace OS納入到基于OS/2的PowerPC工作站。但是該公司的64位PowerPC 620芯片遭到媒體的詬病后,這導致Workplace OS方面的工作一敗涂地,僅剩很少見到的OS/2 Warp的PowerPC版本這個碩果。
那么,蘋果與IBM的合作項目:Taligent如何呢?這個合作項目面臨諸多挑戰,其中許多是由文化沖突引起的:IBM出身的高管更嚴謹,蘋果的粉紅團隊的成員更崇尚自由。合作表面上已經很大膽,實際開展起來很難。
1993年《財富》雜志上的一篇文章特別指出:“技術挑戰――開發面向對象的操作系統以便與微軟和Next競爭――難度很大。社會工程方面的挑戰――面對兩種截然相反的經營理念的碰撞,打造一種新的企業文化――難度可能更大。”
而最終,Taligent沒有完成任務。它未能發布一款操作系統(盡管IBM施加了巨大壓力),只是最終發布了一個運行時系統CommonPoint,該系統取得了一些成功,但并未大獲成功。惠普一度加入其中,只是合作關系在1995年底完全破裂,只剩下IBM收拾殘局。
2014年,Daring Fireball的抄寫員John Gruber寫道:“Taligent是導致蘋果處于這種絕望的困境中,最后不得不收購NeXT的夢想未能實現的幾個慘敗之一。”
蘋果在20世紀90年代面臨著一次又一次的操作系統危機,最終收購NeXT獲得了微內核,盡管NeXT基于卡內基?梅隆大學的MACH微內核技術。這根本不是他們花大量時間和資金來開發的微內核。
“OS/2 for PowerPC無疑是有趣的實驗,盡管試驗失敗。無法判斷導致這次失敗的主要是OS/2 for PowerPC的缺陷還是這是整個PowerPC平臺的失敗(可能只是遠遠達不到預期)。”
OS/2 Museum的撰稿人Michal Necasek在回顧IBM針對PowerPC的OS/2版本時這樣寫道。該版本只推出了一個限制性很強的版本,并沒有太多的相應軟件。頗具諷刺意味的是,圍繞Workplace OS構建的一個對外發布的系統毫無支持可言,盡管“一個內核一統天下”的理念逐漸成為這個項目的核心。
回想起來,這不像是多么意外,但如果我可以鉆入時間機器,回到30年前,告訴大家芬蘭的一個程序員會打敗IBM開發一款“通用”操作系統的夢想,我敢肯定我會被笑話,趕出房間。
但如果你細細分析一下,Linux基本上實現了Workplace OS夢想的每一個要求――它是一個常常用作另外眾多操作系統基礎的操作系統,其解決方案用于從嵌入式系統、智能手機、服務器到電視機的各個地方。當然,雖然Windows和MacOS不使用Linux內核(不過微軟越來越喜歡Linux),但它卻是谷歌Chrome操作系統的關鍵要素,這款操作系統對于將另外某家公司的夢想變為現實略知一二。其實,它唯一沒有做的就是每當它被使用都會改善IBM的收入,盡管IBM收購Red Hat。
微內核與單內核之爭可能根本不會完全消失,一方面是由于它對于計算機科學家或Hacker News網站的評論者來說是頗有價值的學術辯論。當然,兩者都不乏成功的例子:MacOS借鑒了這兩個概念的要素,而嵌入式QNX在微內核的穩定性方面做得很出色。
另外值得一提的是,谷歌開發中的Fuschia操作系統被認為是安卓和Chrome操作系統的替代者,它基于微內核。所以純粹的微內核終歸會看到出頭之日。
在許多人似乎懶得為使用微軟Windows之外的操作系統而操心的世界,IBM認為它有機會開發下一代操作系統。
相反,它失敗了。失敗了兩次。
-
IBM
+關注
關注
3文章
1755瀏覽量
74680 -
內核
+關注
關注
3文章
1372瀏覽量
40282
原文標題:IBM 內核慘敗:20 億美元打水漂 !
文章出處:【微信號:AItists,微信公眾號:人工智能學家】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論