开业于2004年,诚信服务几万客户
翔意数码淘宝店:xynbnb.taobao.com
全国客服电话:010-59000667
地址:北京东城区东兴隆街56号北京商界A座512
ThinkPad产品专业客服 苹果产品专业客服
查看: 1822|回复: 3

[专题]苹果电脑多任务功能的进化简史[一]

[复制链接]
发表于 2009-8-22 22:03 | 显示全部楼层 |阅读模式
在初代麦金塔诞生的八十年代中期,虽然图形用户界面在先驱 Xerox Alto 以及 Apple Lisa 的推进下已经开始崭露头角,但是由于内存太小的缘故,麦金塔在大多数情况下只能够允许单个程序的执行(但苹果允许桌面附件,如计算器,控制面板等同时运行),然而,前辈 Lisa 凭借着八倍于麦金塔的 1MB 海量内存,仅仅依靠 5Mhz 的处理器就实现了多任务并行的能力。在当时, MacPaint 和 MacWrite 是麦金塔上极受用户欢迎的两个程序(微软在随后发布的 Windows 1.0 中「借鉴」了这两个程序的创意,甚至连名字也不遑多让。有趣的是,初代视窗操作系统还不支持滑鼠操作,因此用键盘来绘制图形便显得有些别扭。),对于身兼图形设计与文字排版的用户来说,在这两个程序之间频繁的切换便是一个十分痛苦的过程。 当时的 IBM PC 已经可以通过一个名为 Memory Shift 的程序来实现多任务常驻内存并在彼此之间快速切换的能力(计算机多任务化的尝试始于上世纪六十年代,而且初鸣即啼)。一九八四年晚秋,离开苹果的安迪·赫兹菲尔德在出差的时候正好看到了这个惊人的程序,这令他着迷异常,甚至停下了手头上最要紧的工作,回来之后他马上决定为麦金塔平台开发类似的程序。在这期间还有一段有趣的插曲,比尔·盖茨曾当面会见安迪,并时出重金聘请他为微软攒写切换程序。当时,比尔·盖茨对安迪半带恭维并半带傲慢的说道:「我想,像你这么优秀的程序员,花十周的时候写完应该是不成问题的吧」。结果,异常强悍的安迪只用二十个小时就写就了程序的主体部分,这个程序的名字叫做 Switcher ,虽然它不够完善,比如先要暂停前台程序的运行,才能载入位于后台的应用,程序之间切换的效果也略显生硬,但苛刻者如乔布斯在观看演示的时候也为它的诞生而颇感兴奋,并立马同意在麦金塔中捆绑这款软件。而比尔·盖茨在试用了 Switcher 并得知了安迪的开发过程后,还写了一封热情洋溢的信给他,很难想象,牛人如盖茨者居然如此这般地不吝褒奖之词。 安迪并不是孤独的,虽然他是如此的出类拔萃。但是在早期麦金塔平台的多任务化尝试中,有一个身披神秘面纱的强悍程序「Multi-Mac」不可不提,它的发布时间紧随 Switcher ,人们至今不知道它的开发者到底是谁(化名 Jwa van der Vuurst),也查不到出品公司 Aubrac Systems 的任何资料,它在一九八五年底突然跃入世人面前,又默默消逝,从此再没有更新。人们查看它的代码,发现它通过许多不为外界所知的方式访问内核,由此怀疑是内部人员所为。但,倘若不是的话,这绝对是逆向工程领域的杰出作品,由于 Multi-Mac 只支持唯一一款麦金塔,即 512K 内存并携带 64K ROM 的版本,因此极差的兼容性从某种角度证明了逆向工程说法的可能。而 Multi-Mac 的意义不仅在此,它是如此的牛鼻以致于没有任何必要去吹捧它,它领先业界数年的看家绝活有: 1.磁盘缓冲:能够明显提高麦金塔系统的速度。 2.异步文件管理:允许文件复制在后台执行,不干扰前台进程。 3.实时多任务:如现今的操作系统那样,允许窗口在桌面上堆叠。(早于 MultiFinder) 4.自动弹出菜单:鼠标置上,菜单延时弹出,虽小但是很人性化的功能。 Multi-Mac 的设置界面 安迪·赫兹菲尔德接着在 Switcher 的基础上开发了 Servant ,这是一款用来替代麦金塔系统中原生 Finder 的壳程序,外观同 Finder 一样,但是集 Finder ,Switcher , ResEdit (可以让用户直接访问文件中的资源)共三款软件的功能与一体,相当牛鼻!但是这个强悍的程序不知为何没有发布正式版本,因此用过的人不是很多。另一方面, Servant 的概念直接促成了继任者 MultiFinder (代号杂耍匠:Juggler)的诞生,虽然最终未得苹果官方的认可,但在麦金塔实现多任务并行的征程中,Servant 作为先驱的地位是无法否认的。还有一个有趣的情况:Servant 和 MultiFinder 无法同时运行,你可以在下图中看到冲突产生的画面。 不得不再提一下 Lisa ,再多的褒奖之词也无法形容我对它的喜爱,它极富进取精神,可以说是八十年早期技术的集大成者,它拥有当时在中大型机上才有的虚拟内存,而微软在一九九零年发布的 Windows 3.0 中才开始搭载这项功能,它不需要外挂程序就能支持多任务并行,它硕大的内存、海量的硬盘、巨大的显示器等等,无一不彰显了当时主流计算机平台的巅峰水平。福布斯曾将 Lisa 列为苹果十大失败产品之一,虽然它在商业上铩羽而归,但我认为它的意义与苹果历史上其他失败的产品如 Macintosh TV 、Pippin 是完全不同的。 随着麦金塔在硬件与操作系统方面的齐头并进,在桌面上实现多任务共存的呼声也愈加强烈起来。安迪最后把 Switcher 项目移交给了当时苹果公司的新进雇员:菲尔·高曼,他是一位极具天赋的年轻程序员,随后,菲尔与埃里克·林瓦尓德合作推出了能够实现该项功能的 MultiFinder ,它能在多个程序之间分配 CPU 时间(资源),允许应用程序预先提请所需的内存以便系统更好的管理。不过,由于麦金塔内存管理机制与生俱来的缺陷, MutiFinder 在实际运行的过程中仍然会产生许多问题,比如,由单一程序错误而导致的集体崩溃,或者是某个毫无意义的程序长期霸占宝贵的系统资源,不过这也是协同多任务时代的操作系统共通的毛病,并非苹果一家独有,虽然在某种程度上它能给计算机带来更好的性能,但是对程序员也提出了更高的要求(程序员有时候忘记写入脱钩部分,会导致其他程序持续等待系统资源)。 MultiFinder 在一九八七年的 System 4.2(在 System 7.5.1 后正式改名为 Mac OS ) 中始被引介,在 System 7 之后成为内核组件,虽然问题不断,并始终没有得到妥善的解决,但它一直伴随着麦金塔走到了一个阶段性的终点: Mac OS 9 。 设置是否允许在 MultiFinder 环境下执行任务 MAC OS 9 是一个过渡版的系统,一部分原因是搭载了 Mac OS X 中即将出现的一些功能,苹果希望开发者们能逐渐适应新系统的特性,另一部分原因则是为了使版本号不至于从八直接跳到十。工程师们为它增加了一个 API 来实现抢先式多任务处理的功能,这一步整整晚了 Windows 95 四年半,但严格说起来这个时间应该是六年半,在二零零一年的三月,随着 Mac OS X 10.0.0 (Cheetah)的正式发布,麦金塔终于步入了抢先式多任务处理的时代。 总结一下,在麦金塔的发展过程中,多任务功能历经了三个阶段的变化: Switcher → MultiFinder → Mac OS X 。 在下一篇中,我将会谈及导致苹果在八十年代后期逐渐衰弱的部分技术上的原因,以及某些牛人们正在酝酿的「下一件大事」。 来源:apple$us ★★★

 

 

 

发表于 2009-8-22 22:20 | 显示全部楼层
苹果早期的系统也很漂亮啊。 ★★★

 

 

 

发表于 2009-8-22 22:33 | 显示全部楼层
早期是黑白屏幕?
发表于 2009-8-23 00:11 | 显示全部楼层
如果以后我需要一台之用于娱乐休闲和简单工作的时候,我一定买MAC ,太人性化了。微软要是倒闭了,mac的应用环境就好了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

返回顶部