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·人生元編程
回頂部
寫評論


評論集


暫無評論。

稱謂:

内容:

驗證:


返回列表