每日最新頭條.有趣資訊

IBM 內核慘敗:20 億美元打水漂!

雲頭條導讀:IBM早在20世紀90年代豪賭微內核,看好它是作業系統領域的下一大技術,為此不惜耗費數十億美元,最後卻沒多少成果。文章作者Ernie Smith,是 Tedium 網站的編輯,積極的互聯網評論人士。

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大獲全勝。”

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認為它有機會開發下一代作業系統。

相反,它失敗了。失敗了兩次。

獲得更多的PTT最新消息
按讚加入粉絲團