Leopard:UNIX王朝的终极进化


Leopard:UNIX王朝的终极进化


在PC用户心目中,UNIX系统一直都是以领袖般的威严形象高座在计算机操作系统的王座。UNIX系统超强的健壮性和可靠性被认为接近神话,也正因为如此,UNIX是超级计算机系统的不二之选。与此对应,UNIX系统的难用同样著名,以至于那些能熟练使用UNIX的工程人员都被IT业者所崇拜。不过,UNIX家族中也有一些另类,其中的佼佼者当属苹果的Mac OS X系统—与其他的UNIX不同,Mac OS X干脆就面向PC,漂亮的界面和易于使用是它的最大特征,人们更多将它与相同用途的Windows系统对比,而很难将它与UNIX联系在一起。

Mac OS X一向以最易于使用的UNIX和最优秀的操作系统自居,苹果的狂妄自大虽然招致不少业内人士的反感,但所有人都承认Mac OS X的优秀素质。在过去6年中,Mac OS X以坚实的步伐一步一步的进化,从v10.0“cheetah”、v10.1“Puma”、v10.2“Jaguar”、v10.3“Panther”到v10.4“tiger”,OS X发生翻天覆地的变化,到v10.4为止,OS X已经达到逼近完美的境地,它不仅具有唯美的GUI设计、众多品质一流的软件,也集合了诸多先进的技术特性,并与苹果的数字媒体服务高度结合。而在今年10月,苹果又接着推出代号为“Leopard”的v10.5系统,标志着OS X系统的再度飞跃,作为苹果操作系统的重头戏,Leopard尚未推出便已获得业界的广泛瞩目,而在这套系统上面,苹果将完美主义的色彩发挥得淋漓尽致,以至于我们都无法想像Leopard之后的系统会是什么样子。

与其他UNIX系统一样,Mac OS X同样采用“内核+图形环境”的分层结构,不过其具体实现与其他UNIX有显著的区别—UNIX体系都是采用麻省理工大学开发的X Window来构建图形环境,X Window相当于挂接在内核上的一个应用,它包括X Server与X Client两个部分,其中X Server位于底层,与操作系统内核通讯,它主要处理输入输出信息并维护相关资源;X Client则面向用户,负责提供一个完整的GUI界面,目前在Linux系统中非常流行的Gnome和KDE桌面环境就是两个经典的X Client。不过,苹果并没有循规蹈矩,直接采用X Window来建立图形环境,而是另起炉灶开发一套名为Aqua的GUI,这也是Mac OS X与其他UNIX版本根本性的区别。至于内核,Mac OS X基于“Darwin”构建—Darwin是一个UNIX/BSD系统,具有UNIX体系惯有的高度可靠性和健壮性。值得一提的是,Darwin项目的创始公司是苹果公司,但Darwin完全是基于开源项目FreeBSD 5.0和Mach 3.0构建,换言之Darwin只是苹果的开发者利用开源成果组装而成的作品,而非苹果独自开发。

Darwin项目的负责人是老牌黑客Jordan Hubbard,他也是FreeBSD的创始人之一,不过除了Jordan Hubbard,苹果内部没有多少具备内核开发能力的高手。有限的力量只能用于编写内核硬件驱动和Aqua GUI。为此,苹果在2000年公布Darwin之后,便将它提交给开源社区,帮助建立了OpenDarwin项目,希望借助开源社群的力量来共同发展Darwin内核。在此期间,乔布斯热情地向Linux之父李纳斯·托沃兹(Linus Torvalds)伸出橄榄枝,希望借助他的名头来让Darwin更富开放意义,但乔布斯的热脸贴上冷屁股,李纳斯·托沃兹所作出的回应就是在自传中公开宣称“Darwin根本上就是一个废物”,他认为Darwin所基于的Mach微内核复杂而混乱,干脆利落地拒绝了乔布斯。苹果的如意算盘落空,OpenDarwin失去了一位最好的形象大使。

苹果的蛊惑让不少程序高手投在OpenDarwin门下,他们计划基于OpenDarwin构建一套PC可用的操作系统,图形环境则可以选择Gnome和KDE。最终的结果却让人料想不到:苹果只是想让开源程序员免费为它改进Darwin内核,因此它们要求OpenDarwin项目积极反馈,但同时又不开放自己对Darwin核心所作的修改,尤其是至关重要的Apple ACPI Platform驱动干脆就是专利保护—Apple ACPI Platform驱动是系统启动过程中的基础硬件驱动,由于它没有开源,OpenDarwin项目基本就是废物,这样摆在Apple开源用户前面的就是两条路:要么促使苹果开源Apple ACPI Platform驱动的源码,要么大家合力写出一个Apple ACPI Platform驱动的替代品。

苹果当然没有作出妥协,而重新开发Apple ACPI Platform驱动的替代品又根本不现实,更关键的是,OpenDarwin的开发者都认识到苹果开源背后的真实技俩,不愿意再为他人免费服务,最终在2006年7月份,OpenDarwin项目宣告停止,作为主力开发者的Rob Braun在邮件列表中作出这样的解释:“OpenDarwin未能达成4年来运作的目标,且与这些目标渐行渐远。”言外之意不难得知,而外界作出这样的“友善”猜测:“开源的OpenDarwin加速了x86平台OS X的破解,将让普通PC也能运行OS X系统,这将直接影响苹果计算机的销量。”实际上这一解释苍白无力,即便没有了OpenDarwin,OS X被破解也是轻而易举,何况有兴趣在PC中使用OS X的用户并不会很多。OpenDarwin关闭之后,GNU-Darwin项目扛起了OpenDarwin的大旗,希望将Apple用户社区的开源计划持续下去,GNU-Darwin打算自己开发Apple ACPI Platform驱动的替代品,为此他们向苹果公司提出要求得到相关信息的请求,但苹果干脆利落地拒绝了它们,这就直接宣告了GNU-Darwin的死刑。显然,崇尚个性化的自由程序员因此备受打击,这些程序员选择Darwin的理由就是他们觉得Linux太庸俗太大众化,打算开发一个纯正血统、且兼容Mac平台的开源UNIX,现在希望显然要落空,GNU-Darwin的前景同样凶多吉少。

相比之下,Mac OS X的Aqua GUI要来得光明正大,苹果独自开发了Aqua—事实上它还包含名为“Quartz Extreme”的后端,简单点说,Aqua就相当于X Window体系中的X Client,地位类似于KDE和Gnome;而Quartz Extreme则相当于X Server,负责GUI底下的一切。从10.2 Panther开始,Quartz Extreme被扩充为 Quartz Extreme,它通过OpenGL API来支持GPU硬件加速,这不仅能够加速屏幕显示而且可以实现更多的动态和3D效果。至于Aqua,它在6年间不断被完善,Aqua平台的应用软件也日益精美,到Leopard阶段,Aqua已经相当完美,这也是我们接下来要介绍的内容。
[an error occurred while processing this directive]

相关文章