第一章 MAC OS X起源
"大部分的想法都来自于之前的一些想法"
---阿兰 凯
MAC OS X操作系统表明了,过去曾经时常互相冲突的范式、思维方式以及技术已经成功地走到了一起。MAC OS X中命令行与图形界面地融洽关系就是一个很好的例子。这个系统是苹果与NeXT,及其用户、开发者社区的试验、磨难的结果。MAC OS X实例证明了:一个好的系统是如何产生于企业、科研机构、开源与自由软件运动,当然还有个人。
苹果诞生于1976年,关于它的历史有很多的记述。如果说苹果作为企业的历史是迷人的话,苹果操作系统的技术历史也同样有趣。在这一章[1],我们将要追踪MAC OS X的历史,探讨一些技术,它们的最终合流导致了苹果现代的操作系统。
[1]本书相随的网站()对苹果所有的操作系统提供了更加详细的技术方面的历史。
第1.1节 苹果在操作系统方面的探索[2]
[2]英文标题为" Apple's Quest for the Operating System",操作系统一词的修饰the恰巧是一个操作系统的名字。 Edsger W. Dijkstra在1968年的论文中描述了这个支持多道程序的系统。
1988年。Machintosh计算机已经存在大约四年了。一些苹果的工程师与经理举行了一个离岸会议。头脑风暴中,为了跟上未来的操作系统战略,他们以蓝、粉、红三色卡片写下了他们的想法:
蓝色卡片代表的改进现存的Machintosh操作系统工程,它最终形成了System 7 操作系统的中心部分。
粉色卡片代表将很快成为苹果革命性操作系统工程。这个操作系统计划中是面向对象的,它将有全部的内存保护,带有多线程的多任务,大数量 的受保护的地址空间,以及其它一些现代特性。苹果苦苦思索、探究了多年以后,粉色工程被迁出到苹果与IBM组建的公司-Tagligent。
红色是比粉色更加深的颜色,一些更加高级的想法是红色工程的一部分。
到了1980年代结束的时候,Machintosh系统软件的主版本号还是6。System 7,蓝色工程的一个成果,最终于1991年才出现,将成为苹果目前位置最重大意义的系统。
同时,微软开发了windows 3.1操作系统,发布于1990年,取得了极大的成功。微软同时在开发一个代码代号为Chicago的新操作系统。本来Chicago计划中是1993年发布的,不过由于一直有一些小错误,最终它发布为windows 95 。不过微软确实于1993年发布了一个操作系统--windows NT(见11)。NT是面向高端的client-server应用程序的操作系统,拥有诸多重要的特性,譬如支持并行的多进程,一个抢占式的调度器,集成的网络功能,OS/2与POSIX子系统,DOS与16位Windows的虚拟机,一个称为NTFS的新的文件系统,并且支持Win32 API。
对于一个微软的猛烈进攻,苹果需要作出一个回应,尤其式面对即将到来的、面向最终用户的Windows 95的操作系统。
红色与粉色工程最终证明是相当不成功的,苹果将不断地尝试各条路径以解决“操作系统问题”。
1.1.1 Star Trek
Star Trek是苹果与Novell合作试图把Mac OS移植到x86平台的、冒险的工程。在令人难以置信的短时间内,一个苹果与Novell工程师组建的团对就成功地作出一个适度的原型。不过由于多种原因,这个工程最终被取消了:苹果已经决定要转移到PowerPC处理器了;许多内部与外部的人认为支持x86平台将会妨碍苹果现存的业务模式;销售反馈并不令人积极。
多年以后,苹果更加成功的MAC OS X的中心部分--Darwin既运行在PowerPC处理器上,也运行在x86平台上。Star Trek引导以后显示"Happy Mac"的logo,不过Darwin/x86引导中打印出"Welcome to Machintosh"的消息。
2005年,苹果声明MAC OS X将转向x86平台,这终究说明了Star Trek的正当性。2006年1月旧金山召开的Mac世界博览会,第一个基于x86的Machintosh计算机iMac和MacBook Pro(PowerBook的后继者)揭开了神秘面纱。
1.1.2 Raptor
Raptor在很多方面看都是红色工程。众人以为,它终将给苹果提供一个下一代的微内核,运行在任何平台的操作系统。随着Star Trek工程的取消,它与Raptor合并了,不过不久由于预算限制、人员消耗以及其它一些原因,很快就死掉了。
1.1.3 NuKernel
NuKernel是苹果的一个操作系统内核工程,原意它作为一个高效率的微内核可以在不只一个场合产生一个现代的操作系统内核,便利地提供诸如此类地特性:抢占式的多任务,保护式内存,高效的内存模型,系统的高度延展性,最重要的是一个硬件抽象层(HAL),以便任何计算机销售商都可以容易设计Mac OS的兼容系统。
1.1.4 TalOS
1992年早期苹果与IBM组建一个名为Tagligent的公司来继续粉色工程。粉色工程原本目的是作为一个面向对象的操作系统,不过很快转变成一个名为CommonPoin,可以运行在多个现代操作系统(比如aix,hp-ux,os/2,windows 95,Windows NT)面向对象环境。同时它也意味着可以运行在苹果的NuKernel上.Taligent 对象服务(简写为TalOS)是一些低级技术的集合的名字,这些技术建立在Machkernel 3.0周围。
TalOS是的面向对象的,包括内核,设备驱动,网络协议都是使用面向对象的方式实现的。Taligent的面向对象的库称为“框架”。对于用户界面,文本,文档,图形,多媒体,字体,像驱动那样的低级服务,各有其框架。这些东西,加上TalOS开发工具,进力把编程的重担从应用开发者转移到应用系统开发者。
需要说明的是,仍然存在其它的拥有面向对象应用框架的商业系统,比如NEXTSTEP.Taligent想要把整个的编程模型建立在对象周围。在NEXTSTEP,创建框架的开发者,必须把对象的行为映射到底层库、unix系统调用、dsp(display postscript)等等过程式的API.
1995年,Taligent变成了IBM全资拥有的子公司。粉红工程并没有给苹果带来它一直在寻找的下一代操作系统。
阅读(1440) | 评论(0) | 转发(0) |