Mac OS X 背后的故事

>>>  文章華國詩禮傳家—精彩書評選  >>> 簡體     傳統

Mac OS X 背后的故事

作者: 王越 來源: 《程序員》 發布時間: 2013-01-22 10:55 閱讀: 42593 次 推薦: 60 原文鏈接 [收藏]

  作者王越,美國賓夕法尼亞大學計算機系研究生,中國著名 TeX 開發者,非著名 OpenFOAM 開發者。

  Mac OS X 背后的故事(一)力挽狂瀾的Ellen Hancock

  Mac OS X 背后的故事(二)Linus Torvalds的短視

  Mac OS X 背后的故事(三)Mach之父Avie Tevanian

  Mac OS X 背后的故事(四)政客的跨界

  Mac OS X 背后的故事(五)Jean-Marie Hullot的Interface Builder神話

  Mac OS X 背后的故事(六)上善若水

  Mac OS X 背后的故事(七)上善若水下——Cordell Ratzlaff 引發的 Aqua 革命

  Mac OS X 背后的故事(八)三好學生Chris Lattner的LLVM編譯工具鏈

  Mac OS X 背后的故事(九)半導體的豐收

  Mac OS X背后的故事(十)Mac OS X文件系統的來龍去脈

Ellen Hancock曾任蘋果公司技術總監

  Mac OS X 背后的故事(一)力挽狂瀾的 Ellen Hancock

  故事還得從 20 世紀 90 年代說起。Ellen Hancock 是本文的主人公,也是一位女英雄。她因在 IBM 的經歷而被人們所熟悉。1966-1995 年間,Ellen Hancock 在 IBM 共工作了 29 年。1985 年,她成為 IBM 的副主席。在 1986-1988 年間,Ellen Hancock 擔任過 IBM 通信產品的主席,并在 1992 年被選為資深副總裁。1995 年 9 月,她被時任美國國家半導體(National Semiconductor)CEO的 Gil Amelio 忽悠,跳槽來到這個企業,做執行副總裁。她在這里帶領團隊完成了 CompactRISC 架構,這個架構事后成為 ARM7 系列的前身。很多人早已經把她忘了,也很少有人能夠在回憶時將她和 Mac OS X 聯系起來。但事實上,她是讓蘋果放棄 Copland 轉而購買 NeXT 的關鍵人物。

  早在 1994 年,Gil Amelio 就找好了下家 Apple,成為 Apple 董事會的成員。1997 年 2 月,Gil Amelio 從 National Semiconductor 辭職,并成為 Apple 的 CEO。為了緊跟老板的召喚,Ellen Hancock 再次被忽悠,來到了當時危機四伏的 Apple。這時是 1996 年 5 月,為什么是危機四伏呢?還得從早先的事情說起。

  20 世紀 80 年代,賣可樂的 John Sculley 成為 Apple 的 CEO,隨之 Steve Jobs 被轟出Apple。畢竟可樂和計算機不是一回事,因此不管是硬件還是 Mac OS,整個公司的開發項目越來越受阻。而且由于先天的不足,Mac OS 從誕生之初就不具有一個現代操作系統所應有的特性。所以,在 1987 年,開發下一代操作系統的計劃呼之欲出。具體的規劃是,把新的系統所需要的功能,寫在一堆卡片上。短期可實現的目標,比如增加顏色支持(當時計算機仍是黑白的),寫在藍色的卡片上;長期的目標,比如多任務功能,寫在粉色的卡片上;而在可預見的未來都無法實現的長期的目標,比如加一個純物件導向的文件系統,就寫在紅色的卡片上。在這樣的思路下,Mac OS 的開發團隊馬上就被分成兩個組,一個叫藍組,目標是在 1991 年,發布一個關于 Mac OS 的更新版本;另一個叫粉組,和藍組同時工作,計劃在 1993 年,發布一個全新的操作系統。

  1991 年 5 月 13 日,藍組順利按時完成開發任務,發布了 Mac OS 7(一般被稱為 System 7),而粉組卻沒做出什么有實際用途的東西來,因此接連跳票。而且,由于 Mac OS 7 的發布缺乏人手,為了保持正常發布,常常需要從粉組抽調人員參加藍組的開發,再加上 Apple 當時把重心放在了和 IBM 等公司的合作上(Taligent 項目)而不是在粉組上,最終導致了粉組項目夭折。而本來 Apple 指望和 IBM 合作的Taligent 項目能開發出一個可用的新系統,但后來 IBM 不跟 Apple 繼續玩了,因而 Taligent 的果子又吃不到,Apple 相當郁悶。這時由于 Mac OS 有先天不足(單任務,沒有內存保護),再加上 Apple 以及第三方軟件的無限量增加(在這段時期,單 Apple 自己就已經加入了 QuickDraw、PowerTalk、QuickTime 等軟件和技術,每一個都比 Mac OS 本身來得大),Mac OS 的問題終于大爆發。上個世紀 90 年代,Mac OS 給人的印象就是很不穩定、經常崩潰,同 Windows 95 留給 PC 用戶的印象差不多,甚至更甚。

  Taligent 項目掛掉后,Apple 自己嘗試過十多個不同的內部項目,但大多沒做多久就夭折了。而這時正是 Windows NT 走向成熟的關鍵時期。眼看著日子逐漸變得不好過了,Apple 開始重新開始考慮建立下一代操作系統的事情。1994年,Mac OS 7.5(Mozart)發布后,Apple 推出新規劃,建立一個全新的操作系統,以 Copland 命名(紀念 Aaron Copland,Mac OS 的發布以音樂家名字命名,和 Mac OS X 后使用貓科動物名字很不一樣),這個項目將有一個全新的內核,具有類似 Windows NT 內核的所有高級特性,而老的軟件都當作獨立的進程模擬運行。這個項目時間緊、任務重,1995 年 3 月公布計劃,預期 1996 年發布。而 Copland 后的版本 Gershwin(紀念 George Gershwin),預計 1997 年發布,將重寫 Mac 的所有系統主要部件,以適合新內核的各種特性。

  Copland 將使用微內核技術,只做任務和內存分配。除此之外的所有功能,比如文件系統、硬件驅動等作為微內核上的服務運行。而 Mac OS 的所有用戶界面功能將成為一個獨立的框架,稱為藍盒(Blue Box,今后介紹 Mac OS X 時,我們還會遇到這個詞)。所有的任務相互獨立,占用獨立內存,也可以用 IPC 相互交流。學過操作系統的人都知道,微內核是當時的一個熱詞,一個系統只有被稱為微內核才可被看作是先進的,當時還有針對 Linux 系統的著名的 Tanenbaum-Torvalds 筆戰。但事實證明,所有本來想做成微內核系統的成功項目都放棄了原先的設計(包括 NeXTSTEP、Windows NT),因為這種類似 Mach 微內核的系統往往難產,GNU/Mach + Hurd 之類的項目做到現在經過了20年,仍未成事,一年內搞一個微內核系統談何容易。

  微內核還沒搞成,Apple 幾乎所有開發組的成員都來添亂。大家都說自己做的東西很重要,一定要加入 Copland 開發組,所以 QuickDraw GX、OpenDoc 之類的開發組產品成為新系統的核心組件,甚至類似用戶界面皮膚之類的開發組都來湊熱鬧,馬上就使 Copland 成為一個無法維護的項目。開出的計劃越來越長,項目越來越多,但相關進展越來越少,完成速度越來越慢。即便做出了產品,連測試人手都不夠。1995 年就有工程師指出,在 1996 年發布 Copland 純粹是幻想,能 1997 年發布就不錯了。

  1996年,Gil Amelio 已經掌權。在蘋果電腦全球研發者大會上他開心地宣布,傳說中的 Copland,也就是 System 8 的開發版會在當年夏天發布,而正式版在秋天就可以送到每位用戶手上。時任 TidBITs 編輯的 Matt Neuburg 有幸見到了這個傳說中的系統。令他大吃一驚的是,這個系統在當時只能打開或關閉文件,而無法對文本文件進行編輯,甚至所有用戶界面的文本框都不能輸字。哪怕什么都沒做,整個系統也會隨機崩潰,而崩潰甚至會造成文件系統損壞。參加演示的蘋果員工,則需要不斷守在旁邊,他們的工作是不斷地格式化已崩潰的計算機磁盤,然后重裝系統。那年夏天,第零個測試版送到一小簇不明真相的開發者手中,把那些脆弱的沒見過世面的人嚇得半死。就連 Apple 內部都開玩笑說 Copland 的正式發布日期可能得推遲到 2030 年。

  Gil Amelio 心急如焚,希望 Copland 快點走到正道上來。作為 Gil Amelio 永遠的好朋友,Ellen Hancock 就在這個亂糟糟的時候來到了 Apple。她的職務,正是擔任這個亂糟糟項目的負責人。她親自下訪各小組體察民情,了解情況。畢竟在 IBM 干了近三十年,她依靠自己過人的判斷力在 2~3 個月內便得出結論,Copland 這個項目是沒有指望的,就按目前 Apple 這樣的狀態,Copland 永遠都不可能發布,還不如早點取消了好。在短期內,先把 Copland 中的一些有用的成果一點點合并到老的 Mac OS 中,并且抓緊從外部購買一個全新系統來滿足 Apple 的需要。正是她的這個結論,結束了 Apple 長達五年的糾結,使公司重新走向正軌。整個 PC 的黃金時代已經過去,Apple 想要翻身,還有很長一段路要走。Gil Amelio 支持了 Ellen Hancock 的計劃。1996 年 8 月,Apple 取消 Copland 項目。開發預覽版的 CD 封套都已制完,每個郵包上的地址都已打印就續,而 CD 卻從未曾制出。

  1996-1998 年是 Apple 最混亂的幾年。在商業上,有一陣曾傳出 Apple 要被 Sun 收購的消息。更有意思的是,《連線》雜志在 1997 年的六月還發表了一篇文章,名為《101 種拯救 Apple 的方法》,其中一條說最好的方式是 Apple 讓自己被 Motorola 買下,成為 Motorola 的一個部門,做 PowerPC 系列產品。以當時的眼光來看這些建議非常諷刺好笑,以今天的眼光看更為好笑。而 Ellen Hancock 在這段時間內的出色工作,成功地挽救了 Apple。

  首先,Ellen Hancock 的對內政策是繼續 Mac OS 7.5 的開發工作,一步步把 Copland 中的技術并到 7.5 中。同時,也大量購買第三方的系統增強包,包括插件管理工具、層次化菜單等技術。Apple 把它們買過來,整合到現有的系統中。整個老系統在新系統尚未完成的時候不斷更新,至 2000 年已出到 9.0 版,盡可能地留住了老用戶。并且,前面提到的藍盒(Blue Box)也作為后來新 Mac OS X 系統的一部分,支持用戶運行經典 Mac OS 的程序。

  而對外政策更是一個大手筆。Ellen Hancock 協助 Gil Amelio 在 Apple 之外找尋操作系統技術。在 IBM 和 Microsoft 合作 Big Blue 的經驗告訴她,購買一個操作系統的使用權問題多多,最好的計劃是整個一并買下來。因此,Gil Amelio 開始和當時看好的 Be 談,卻因價格問題沒有成功,最終轉而收購了 NeXT。而 Apple 合并 NeXT 后,NeXTSTEP 就演化為 Rhapsody,并最終成為 Mac OS X。這些事情我們今后會詳細再談。

  買完 NeXT 后,Steve Jobs 執政,Gil Amelio 因任 CEO 期間 Apple 虧損嚴重而被炒。Steve Jobs 把信得過的人(很多是前 NeXT 員工)拉攏到周圍,開始新政,而同 Gil Amelio 有關的 Ellen Hancock 則在人事變動中被疏遠。Steve Jobs 甚至在很多場合稱她為“笨蛋”。Ellen Hancock 最終于 1998 年主動辭職。事后同 Gil Amelio 以及 Apple 的創始人之一 Steve Wozniak 一同創業,但始終不景氣,她的輝煌時代已經過去。

  Gil Amelio 總結他在 Apple 時期的工作時說:“Apple 是一艘底部有洞漏水的船,而我的工作是把這船引向正道。”(Apple is like a ship with a hole in a bottom, leaking water, and my job is to get this ship pointed in the right direction. )Ellen Hancock 雖然同 Gil Amelio 一樣,不知如何去堵這個漏水的洞,但正是由于她在 Apple 的出色表現,不但把船引到了正道上,還找來了有能力堵這個洞的人。


2022-12-08 19:06:56

[新一篇] 500年大師經典

[舊一篇] MacTalk·人生元編程
回頂部
寫評論


評論集


暫無評論。

稱謂:

内容:

驗證:


返回列表