《观止》

下载本书

添加书签

观止- 第11节


按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
。txt电子书分享平台 

第3章 部落(8)
因为NT是可移植的,所以卡特勒知道它会很大。问题是,它将有多大?这取决于他的程序员们有多聪明,以及NT自己的设计特色和功能。卡特勒需要花很多时间才能知道NT究竟需要多大一个内存油箱。可是,他已经意识到NT会消耗很多内存——也许比现有的个人电脑操作系统所需的要多得多。
  这让比尔?盖茨感到紧张。NT最少需要一个带有8兆内存的电脑,这是当时一台新电脑标准配置的8倍以上。盖茨担心消费者会不用NT,因为它意味着消费者需要为它再花几百美元购买额外的内存。虽然内存芯片的价格可能会大幅度下降,但NT的内存要求仍然是非常不确定的。
  这个任务落到了皮亚佐利头上,他来负责设计和编写NT中管理内存的代码(他在卡特勒的实验室里曾写过类似的内存管理程序)。内存管理要确保操作系统的每个部分和每个运行的应用程序在它们需要时都能有足够的内存空间,所以它自己要一直保持运行状态。这是个复杂的任务,因为,当一个应用程序需要内存而当时没有时,就需要内存管理程序来精确地搜寻出可用的内存空间。而且“每个人都需要内存,而且想马上得到”,使这项任务显得更加艰巨。
  为了更好地理解内存管理程序的作用,我们来想象五个饭店,它们共用一个停车场,但是车位有限,假设只有100个车位。想在这五个饭店的任何一家吃饭,在这个停车场里停车是唯一可行之路。一个孤单的车仆负责车进车出,和代泊每一辆车。饭店象征应用程序,停车场象征电脑的内存,车仆则代表操作系统里的内存管理程序。早上,只有一家饭店营业,所以有足够的闲置车位,车仆的管理工作也很轻松。午饭时间则显得压力重重,因为五个饭店都在营业,对车位的要求很紧张。
  车仆于是开始筋疲力尽。他不仅需要留意每一个车位的状态,而且必须迅速无误地代泊每一辆车,并在客人离开的时候,准确地找到它们。既然停车位占用的是物理空间,那它肯定能扩张:增加车位成本很高,但是它能缓解停车场的阻塞。而更好的解决办法是,车仆必须更聪明更敏捷地工作。当车位已满,车仆必须在入口等待车位空出来。优秀的车仆能够指挥这些车辆,所以当停车场暂时不能运作的时候,没有人会引起争吵。而无能的车仆却常常不能很好地管理未停放的车辆,所以场地充满着混乱。然后,每个客人都得离开他或她的饭局,找到他或她的车,重新再停一次车。
  车仆的工作形象地显示,稍不注意,局面就失去把握。皮亚佐利想创造出一个聪明绝顶的车仆,但他坚持用陈旧的方式。
  对可靠性的要求极大地影响了操作系统的整体设计。什么是隔离应用程序的最佳方式呢?这样当应用程序出现故障时会不会使NT也失败?卡特勒的解决方案是把操作系统分成两个主要的部分。其中一个是“内核”,它不直接和应用程序关联,所以不会被它们影响。另一个是操作系统的图形化的、可视的部分。
  我们回到楼上—楼下的比喻来领悟一个系统内核的要领。想象一下家政服务团的管家,他是多么地勤劳:他24小时不分昼夜地为楼上的家庭服务,随叫随到,处理各种要求。如果需要做顿饭,他就去做;如果需要洗衣服,他就去洗。如果他不在,他也会安排好一个候补。他把房子里的一切维持得井然有序。楼上成员的任何意外的行为都不会使楼下的生活休止——从不。书 包 网 txt小说上传分享

第3章 部落(9)
这就是卡特勒想要的操作系统的大致情形。就像楼上的家庭,应用程序可能会有意外的或不合理的行为。在程序的范畴里,当所有其他程序都运行失败的时候,唯一能保持运行的就是系统内核。它通过给应用程序强加一定的限制来保护它自己,最重要的是,只有它,而不可能是应用程序,来操控硬件。
  系统内核本身的结构就很复杂,包括很多组件,组件之间互相调用,或者直接调用硬件关联。系统核心的组件常常调用底层代码——“微核”,它是NT里的终极统领。卡特勒曾在DEC写过一个微核,打算也为NT写一个。这看起来极像他在团队中的地位,微核在操作系统里也颇具权威。
  内核设计有两个主要的优点。第一,当一个程序突然停止的时候,内核允许用户保持其他的应用程序的正常运行;还可以启动新的应用程序;从而保证了系统的可靠性。第二,内核可以使操作系统显示出多样的个性。每个操作系统的个性都通过调用内核来向计算机发出命令。OS/2将会是这些个性之一,这是盖茨的要求。但是NT也要能支持其他个性,成为一个潜在的通用的软件平台。
  卡特勒内核设计的令人眩目的优点——可靠性和多样的个性——可这是有代价的:速度,或者说缺乏速度。这里有严格的逻辑性。把一种个性加入模块里,意味着系统发出的调用命令的数量起码翻了一倍。比如说,一个应用程序必须先调用OS/2模块,然后OS/2调用内核。用卡特勒的话来说,个性变成了内核的“客户”,内核为客户“服务”。
  当盖茨第一次听到这种客户服务模式时,他犹疑了,想到:“这样做的话,会有巨大的额外开销。”他对此有充分的证据。“我的头脑里清楚地知道这个额外开销有多大,所以我认为我们不能这样去做。”他坚持。但是卡特勒有力地为客户服务模式辩护,说它不会降低性能。他提供了数学数据来支持他的模型,他部落里的一个成员还写了一篇十二页的论文来说明其他设计方案是不可行的。
  在如此激辩之后,盖茨对NT的基本设计还是不放心。他比卡特勒更了解消费者对程序运行速度的关注。他们会把NT和DOS、OS/2比较,而后两者是用汇编语言写成的,可更好地发挥硬件的性能。固然,微芯片总有一天会变得很快,可以抵消NT的缓慢。但是让软件任意遨游的超快芯片的到来还得等5年到10年。盖茨担心舆论早把NT钉死在速度的十字架上。
  卡特勒坚持他的立场。他不耐烦地发誓说他的团队会写出有魔力的代码,他们高超的编程技巧会弥补客户服务模式的不足。盖茨将信将疑,但也默许他们这么去做,他想:“嘿,这是他们的项目,是他们的项目。他们认为那样可以。”
  在1989年初时,NT的设计蓝图初具雏形,这时卡特勒开始恢复他的本性,不再像刚到微软时那么彬彬有礼了。他总是没有耐心,传达的信息也总是生硬而简洁明了。他不喜欢重复自己说过的话。“如果他给你解释过一次,他希望你再也不要去问他了。”一个团队成员说。卡特勒要求别人要紧跟他的节奏。当有人请他重新做一次解释时,他也会去做,“只是这一次声音有点响亮”,一位在那年夏天加入卡特勒团队的微软人如此说。“然后,如果你再请求他进一步阐明他的意思,这时,他的脸开始变红了。就好像,因为你不明白他的话,他就要发疯。所以我学着对他所说的每一句话都听得很仔细,有时候我也不懂装懂。然后我回到办公室,再思考他所说的话,或者我去问皮亚佐利,‘戴夫到底是什么意思呢?’” 电子书 分享网站

第3章 部落(10)
卡特勒从来不为他的缺乏耐性或火暴脾气抱歉。“我靠压力生存。”他自吹。他把他的团队看作是建立在分享共同的欢乐、牺牲和秘密的一个小社会。他既是严格的执政人,又是体贴的族长。他对自己的要求永远都比别人的多。在我们现在的社会,借口是换取宽容的通行货币,但卡特勒从不接受。“我希望每个人都做到他们自己的最好——一直如此。”他说。
  对他的亲密战友来说,卡特勒就像自然之力,但随着时间的过去,他脾气的爆发成了日常例行公事。和卡特勒不熟的人常常被警告要保护好他们自己。“当你看到卡特勒要发作的时候,赶紧躲掉。”卡特勒的一位朋友对一位微软人说。后者一开始觉得这个建议未免太夸张了些,可是后来她听到卡特勒办公室方向传来恐怖的吼声,她问:“这是什么噪音?”这就是卡特勒发脾气的声音。
  卡特勒的脾气可谓是一触即发,但有时他的咆哮只是故意做样子。“我向人们大吼大叫时,并没有发疯。”他说,“他们可能认为我疯了,可是我真的没有疯。”不过,要分辨出到底是不是装样子,谁也说不准。当卡特勒开始讥笑微软为“这个渣滓公司”时,很多人都觉得这是他的真实意思。
  麦沃尔德想缓和一下紧张的气氛。他邀请了公司里称为“架构师”的优秀软件工程师们,去会见卡特勒等人。可是事与愿违,原因出现在戈登?莱特温(GordOn Letuin)身上,他是设计OS/2架构的*。卡特勒曾被要求主持改进OS/2项目,对此莱特温觉得自己受到了冷落。他还觉得麦沃尔德和卡特勒都对RISC芯片的前景和可移植程序的期望值过高。当他和卡特勒团队对话的时候,莱特温显得盛气凌人。这让卡特勒感到不愉快,他本来就不喜欢OS/2的“不值一文的设计”,他认为OS/2能力不足,可靠性也不强,根本就不能承载更多的功能。在测试OS/2之后,卡特勒感到“心口疼痛”,因为他已承诺,NT将可以运行OS/2的程序。“这样,我们在努力制造最先进的艺术品(可移植系统),还要让它和垃圾OS/2兼容。”他说。
  莱特温觉得卡特勒不能理解微软为了赢得IBM而所做的妥协——卡特勒不会去做的妥协,因为IBM对NT的发展不提供任何帮助。莱特温发现设计OS/2的时候,好的点子不是被摒弃,就是处于无休止的争论中。他对卡特勒的自负也感到很愤怒,他认为卡特勒把自己看作是普罗米修斯,“从众神那儿带来火,以此来照亮(微软的)可怜的众生。但我们的确没这么想过”。
  在1989年3月9日,阿丽塔?卡特勒打电话告诉儿子,他77岁的老父亲不幸因心脏病去世。卡特勒似乎无动于衷,不过他母亲也没吃惊。儿子与他父亲之间有鸿沟,她说:“他对此一点感情都没有。”然而不少人怀疑尼尔对儿子的冷淡是卡特勒保持愤怒的“源头”。不管他和他部落中的程序员们有多么亲密的关系,也不论他通过他的成就获得了多么大的财富,生气这两个字总是与他如影随形。它紧紧地陪伴着他,就像是执拗而熟悉的朋友。当他在令人沮丧的时刻发脾气的时候,他的行为就仿佛是青年时期被压抑的卡特勒的反抗,那时他父亲对他所取得的成就毫无感觉。就如卡特勒高中时期的一位足球教练,拉里?车切斯所说:“戴夫年轻时,缺少的是一位可以鼓励他的父亲,对他说:戴夫,你做得很好。放松点。”书 包 网 txt小说上传分享

第3章 部落(11)
尼尔?卡特勒望子成龙,希望儿子能通过竞争或竞赛赢得尊重和别人的倾慕。“不管戴夫做什么,他都得证明他做得比别人好。” 车切斯回忆道。他连最休闲的娱乐也不放过,也要拼命力争上游。“如果你有位父亲说你已经做得很好,你就不用一直去证明它了,但是戴夫不停地证明给他父亲看。”
  对于父亲的去世,卡特勒几乎无话可说
小提示:按 回车 [Enter] 键 返回书目,按 ← 键 返回上一页, 按 → 键 进入下一页。 赞一下 添加书签加入书架