从Mac OS到Mac OS X:从内到外的焕然一新,意义深远的跨越

/ 2评 / 0

Mac OS X后面这个X意义深远,一定不能略去。这个小小的X是罗马数字「10」的意思——但从9到10,不仅是一个大版本更新。这个版本更新的背后,是一长段历史。


最初的Mac OS:开天辟地的创新

最早期的Macintosh电脑在1984年推出。随着乔布斯的设想,Macintosh电脑采用摩托罗拉68000芯片,以及包含一个与Lisa电脑相似的图形用户界面,结合了易用性和不错的价格,这在当时是开天辟地的。随着最初的Macintosh推出,最初的Mac OS(也称为Macintosh System Software,或System Software,或简称为System)也应运而生。受限于有限的机能,为了增加性能,以及为了加快开发进度,最初的Macintosh System Software非常原始。它是一个单任务单用户操作系统,一次只能运行一个应用程序,更从未考虑内存保护的概念;它也不支持通讯和网络功能;它还安装在MFS文件系统上,只允许一层文件夹,最大仅支持20MB的磁盘。它奠定了之后的Mac OS系统的一些基本概念,例如桌面、图形化界面、Finder与应用程序,但同时也落下了一些落后性质的沉重包袱。但无论如何,它在最初的Macintosh上运行得很好,甚至比贵于它很多的Lisa电脑都要快一些。

计算机的性能的高速发展,带给了随后的Mac更强大的能力。Macintosh电脑的内存火速从128KB翻倍至512KB,然后到达1MB,2MB;随后的摩托罗拉68030芯片和PowerPC芯片带来了纯32位处理支持,带来了内建的PMMU;磁盘的容量也在不断增加。为了适应这些新的潮流,Apple在最初的Mac OS(System Software)上努力加以改进。全新设计的HFS文件系统,让Mac能够在一层文件夹下继续创建文件夹;Apple Talk让Mac拥有通讯的能力,随后的更新更带来了完善的网络功能;当然还有大量的功能改进和全新的内建应用程序。

Macintosh System Software最初版本。图片来自Wikipedia。
在PowerBook 180上运行的System Software 7.5。

随后的Mac OS:脆弱的地基

Mac OS上一些受限于最初的Macintosh的概念成为了阻碍它进步的绊脚石。一些重要概念在Apple的努力下逐渐在系统内出现,例如System 5带来了MultiFinder组件,让Mac使用者们在多个任务中方便地切换;Mac OS 7(System 7)更将MultiFinder作为Finder的标配功能。Mac OS 7(System 7)还利用一些处理器上的PMMU和32位寻址能力,在Mac上带来了虚拟内存。多任务处理在推进,但Mac OS在设计之初却未设想多任务处理的场景,因此Mac OS的多任务并不是真正现代意义上的多任务——它是基于应用程序的协作式多任务处理,更像是一个妥协的产物。协作式多任务极大地依赖于应用程序本身的设计,系统资源的使用由应用程序来定夺,而操作系统则更像「甩手掌柜」。不但如此,Mac OS(System Software)最初被设计为系统和应用程序运行在同个内存空间内。这几大缺陷意味着如果任何一个应用程序出现任何问题,就会导致整个系统宕机,包括其他在运行的所有程序。

而竞争者微软的操作系统进步则十分明显。Windows 95为新设计的32位应用程序带来了抢占式多任务处理,操作系统对系统资源有控制调度权,高效且可靠。Windows NT则带来了内存保护,操作系统、驱动程序与应用程序运行在不同的内存空间内,这极大地增强了系统稳定性。Windows NT的内核在不断的改进中一路领先,随后的Windows 2000与Windows XP都基于可靠强大的NT内核。

Apple一直在努力修补Mac OS的烂摊子。在尽量改进系统稳定性的同时,Extension(系统扩展)在系统内出现,它直接为操作系统增加更多功能、特性,或添加新硬件。这令功能上Mac OS与Windows 95或98能做到一样的任务。但灾难性的是,Extension由Apple或三方提供,不兼容或冲突是常事;大量的Extension与操作系统、应用程序同样运行在一样的内存空间里。任何一个Extension出现冲突或任何问题,常常会导致系统无法启动,严重的不稳定等严重问题。虽Apple已经努力修补,Mac OS的一些落后包袱——其中最大的是多任务和内存保护,贯穿1984年第一代Macintosh的推出,直到2002年被乔布斯送入棺材,一直都没能抛下。它是如此落后,就好像一座辉煌的别墅在不停地被添砖加瓦,但却有一个脆弱的地基。崩溃成为了Mac OS的常事。面临不断的「炸弹」宕机,冷不丁的停止响应,使用者们只好不断地重新启动电脑,然后等待磁盘检查的结束。再加上一贯残废的权限概念和多用户功能,Mac OS的烂摊子逐渐到了不收拾不可的局面。

Mac OS 8正在启动,加载系统扩展。
Mac OS 8因为扩展冲突启动失败,「乱码炸弹」宕机。

Copland:尝试与失败

Apple在1990年代开始开发Copland操作系统,以尝试抛下那些沉重的包袱。Copland将会拥有一个全新的、先进的内核。它是纯粹的PowerPC操作系统,被设计在更强大的PowerPC电脑上达到更高的性能。它被放在一个名为Nukernel的微内核之上,它可以调度系统资源、管理程序启动,还接管了内存使用。这直接解决了那些沉重的历史包袱——抢占式多任务、内存保护,都会在这颗设想中的强大内核上得到实现。全新的应用程序和全新内核紧密协作,启动单独的线程,并在内核的调度下高效能运转。一个应用程序的失败不会影响到操作系统本身和其他应用程序。Copland还拥有一个全新的,三维立体美观的用户界面,称作"platinum"。

为了兼容"Classic" Mac OS应用程序,Copland提出"Blue Box"(「蓝盒」)。蓝盒里运行一个完整的Mac OS操作系统。经典Mac OS应用程序在蓝盒内的崩溃可能导致蓝盒本身和所有蓝盒内的应用程序崩溃,但同样地,不会影响Copland应用程序和操作系统本身。

但Apple的天马行空设想完全是从零开始。大量的组件被加入到内核中,整个项目逐渐变得臃肿不堪和难以管理。Apple兑现了在WWDC1996上吹下的牛,但Copland开发者预览版完全是一场灾难。不提未完成的操作系统本身,即使不做任何操作,来自系统本身的Bug会令它随时崩溃;它的兼容性几乎是零,大量的设想甚至还未开工。随后Copland被Apple在1996年放弃,一些新功能被加入到Mac OS 7.6和Mac OS 8中(例如"platinum"),还有一些经验被Apple吸收。

Rhapsody:崭新的开始

即使Copland遭到失败,Apple从未放弃寻找新的机会收拾Mac OS的烂摊子。最终,Apple找到了当初被扫地出门的乔布斯和他的NeXT。Apple看上的就是NeXT的NeXTSTEP操作系统,它足够先进、强大和可靠,也足够有先见之明。NeXTSTEP是一个Unix操作系统,构建于Mach内核之上,使用Display PostScript作为显示引擎。它的应用程序基于Objective-C编程语言,具有内存保护、多任务处理等功能,在开发者手中大受欢迎。

NeXTSTEP。图片来自Wikipedia。

最终收购在1997年完成,乔布斯回到Apple继续掌舵,NeXT的操作系统落入Apple手中。Mac OS的platinum用户界面被工程师们照猫画虎得像模像样,一个像极了Mac OS的,兼容x86与PowerPC的Rhapsody开发者预览版在WWDC1997上与开发者们见面了。Rhapsody的命名取自Mac OS的一贯传统。表面上看,它还是灰头土脸的Mac OS样子;但那些精细美观的NeXT图标背后,却蕴藏着一颗潜力无限而又焕然一新的内核。相比Mac OS,它的进步意义非常深远。Rhapsody的全新应用程序由Yellow Box API开发,为了充分利用Rhapsody的新特性,并与它紧密协作,开发者们需要重写他们的程序。Yellow Box面向对象,思路与Mac OS有巨大不同。Apple身先士卒,将一些Mac OS库移植至Rhapsody之上,供开发者们调用。而那些老旧的Mac OS应用程序运行在上文提到的「蓝盒」中。Apple重新拾起了蓝盒的概念,蓝盒这个概念曾在Copland中被提出,以用于解决兼容性问题。本文作者曾上手Rhapsody DR2和Rhapsody 5.6,在5.6中的蓝盒运行Mac OS 8.6的一份完整拷贝。蓝盒与传统意义上的虚拟机略有不同,Mac OS 8.6可直接访问磁盘和硬件资源,且有自己独立的桌面。

在VMware上运行Rhapsody DR2 x86。

在WWDC1998,Apple宣布了Rhapsody将作为Mac OS X Server 1.0发布,这是Apple首次使用Mac OS X的名头。它已经趋于成熟,具有来自Mac OS、Rhapsody的新特性。桌面仍然基于NeXT的Workspace Manager,界面却是临摹得像模像样的platinum;多任务切换和管理也像极了Mac OS,在右上角的选择菜单中进行。

在PowerBook G3上运行的Rhapsody 5.6(Mac OS X Server 1.2)。

Mac OS X:先进可靠的重生

Apple随后开始了Mac OS X的开发。Apple在Rhapsody的基础上,融合众多先进技术,开发出了Darwin——随后Mac OS X的强大内心。Darwin的内心同样拥有先进的多任务处理技术和内存保护,比Mac OS先进可靠许多,足够完美打扫Mac OS的烂摊子。Rhapsody的Yellow Box API进化为Cocoa;Display PostScript绘图层被Apple开发的Quartz取代,它还支持G4处理器强大的AntiVec加速技术;Blue Box蓝盒被改进为Classic环境,去掉了独立的桌面,与Mac OS X深度融合;全新晶莹剔透的Aqua用户界面也被设计出来,并在Mac OS X Developer Release 3上首次亮相。

Mac OS X Developer Release 2,正在启动蓝盒。
Mac OS X Developer Release 3,Aqua界面。

经过一系列的预览,Mac OS X 10.0 Cheetah最终在2001年公开发布。它的稳定性虽还不及后期版本,但相比Mac OS 9则有巨大的技术进步,彻底解决了Mac OS上的历史包袱;它的推出是一场了不起的成就。Apple随后在几大版本上持续进行改进,在Mac OS X 10.2时,它的软件生态已经逐渐成熟,性能已经足够可靠到能够完美替代Mac OS 9。在WWDC 2002上,随着Mac OS X 10.2 Jaguar的推出,乔布斯主持了一场滑稽的葬礼——被埋葬的对象正是Mac OS 9。2002年开始,Mac计算机逐渐不再支持Mac OS 9的启动与运行,Mac OS逐渐埋葬在历史之中,为Mac OS X的崭新道路让路。

WWDC 2002,乔布斯「埋葬」Mac OS 9。图片来自YouTube。

相比Mac OS,Mac OS X的从9到10,不仅是一个大版本更新。Mac OS X的最终推出,经历了Copland的失败,Rhapsody的努力;Mac OS X更与Mac OS完全不同。这一长段历史,记载了一次失败,还有一次收购,是一次从内到外的焕然一新,更是一次意义深远的跨越。

Leopard与Jaguar。

拓展阅读

2条回应:“从Mac OS到Mac OS X:从内到外的焕然一新,意义深远的跨越”

  1. YoshiFan说道:

    文笔很好!支持!详细地再现了从System Software到Mac OS X的历史!

  2. chty78说道:

    想要看更多类似的文章呢。

发表评论

电子邮件地址不会被公开。 必填项已用*标注