DEC
第二章的大部分内容都集中在数字设备公司(Digital Equipment Corporation,简称 DEC)上。这是因为在普林斯顿项目之前,Unix 只运行在 DEC 制造的机器上:PDP 系列(尤其是 PDP-11)以及后来推出的 VAX。但 DEC 本身并没有正式支持 Unix。它有自己的操作系统:FOCAL-11、VMS、TENEX。在内部,DEC 在最初的 20 年中有一种文化,正如 Armando Stettner 所说,被称为 NIH——Not Invented Here(非本地发明)。Unix 是贝尔实验室的产物,这一点足以让 DEC 的工程师们不愿意接受它。
但到了 1970 年代末,越来越多的人认识到 Unix 不会消失,硬件工程师们也意识到满足 Unix 用户的重要性。Ritchie 和 Thompson 曾多次访问 DEC。现在 DEC 组建了一个 Unix 支持小组——“我们有点像秘密实验室。”Armando Stettner 于 1979 年末从贝尔实验室来到 DEC,是 Usenet 的早期支持者、Ultrix(DEC 版本的 4.2BSD)的架构师,也是 Unix 车牌的创始人,他告诉我:
我被带到 DEC,成了 Unix 的某种“拥护者”。他们不让我们——UEG,DEC Unix 工程组——进纳舒厄(Nashua)。我们被安排在新罕布什尔州的梅里马克(Merrimack)。我们把斯皮特布鲁克路(Spitbrook Road,DEC 在新罕布什尔州的主要基地)戏称为“唾液溪”(Saliva Creek)。服务和支持人员一旦知道我们在那里,就会找我们帮忙。但当 Bill Joy 来访问时,我还在用 32V 版本。
那天我们从波士顿的洛根机场到新罕布什尔州已经很晚了,唯一还开着的地方是丹尼斯餐厅。那晚我们画了个大致计划。我们想把当时所有的软件整合起来,修复配置问题,然后推出一个版本。我半开玩笑地说:“为什么不把 Unix 移植到 DEC System 20 上呢?”乔伊说:“你看,那要花 10 天时间,而我这次只待 7 天。”结果比尔其实待了 10 天。我们晚上在 VMS 工程组的实验室里利用 VMS 团队的原型机工作。比尔用的是 VAX 780,Bill Shannon 用 750,我用 730。基本上,我们会在某些时间点汇合,把东西合并,然后各自回机器上调试。
我们拿了一套 RP06 磁盘包,开始把这些东西称为 5BSD,因为我们确信下一个版本会是 5BSD。我们做了一个转储带,比尔收拾好东西回加州了。Shannon 和我把磁盘包复制了一份,带到我们的主机 decvax——一台 780 上。几天后,Bill Joy 打电话来说:“嘿,如果我们再出一个版本,许可证会有很多麻烦,所以干脆叫它 4.1BSD 吧。”
有十年时间,看起来 DEC 实际上是在对抗 Unix。Steve Johnson 对我说:
当然,当 VAX 出现时,这显然是一台非常好的机器,DEC 至少在硬件方面意识到了 Unix 在销售上的潜力。但他们依然没有积极推动。
我问了 Armando 当时的情况。
他说:“我来了之后,UEG 做了很多支持工作——我们编写设备驱动程序,处理 Unix 的底层部分,也就是与机器相关的部分。伯克利专注于更高层次的东西。知道我们存在的客户会让他们的现场服务人员联系我们。我们积累了经验和沟通方式,能和现场服务人员交流。因为当时支持 Unix 时信心不足,服务人员根本不知道机器没跑 DEC 软件时该怎么办。而且总有关于账户管理和客户满意度的问题。”
“Spitbrook(DEC 主要新罕布什尔州基地)对 Unix 怀有强烈敌意,坦白说,公司上下,包括工程师和工程管理层都如此。Cutler(Dave Cutler,DEC 工程精英之一)曾拿到一个东西——我记得是 VMS 上的 SRI 套件——作为妥协方案。Cutler 给 Munson 打了电话,你知道 Unix 对 DEC 来说是真正的问题,无论是在 AT&T 还是大学那边。于是 Cutler 让 Munson 派我们两个人去看看。Bill Shannon 和我开车去,大约二十分钟车程。到了那里,Cutler 在他的办公室。我们俩坐到终端机前,结果它根本没按预期工作。Cutler 问我们怎么样,我说它不行。Cutler 说‘谢谢你们。’”
“我们开车回 Merrimack,Munson 叫我们去他办公室——他是高级组经理——问‘你们到底干了什么?Cutler 打电话来骂我,说你们简直是差劲的工程师,他再也不想在 Spitbrook 见到你们。’”
“我想 Cutler 的蔑视从此反映在他的工作中。Cutler 当时正在基于一种叫 Prism 的新架构开发另一个操作系统,不是 Unix,是 Digital 内部 RISC 战争的一部分。最初 Cutler 的系统不可移植,但文化上兼容 VMS。我认为 Windows NT 中有很多东西都能追溯到 Prism(Cutler 大约在 1983 年加入微软)。”
“我们有位 Unix 产品经理。有一天我俩走在走廊上,我说,‘Bill,我觉得是时候为 VAX 做一个真正的 Unix 产品了——一个原生的 VAX Unix。’我们做了个计划,Bill 带着去找 Munson,说‘看看这个方案能不能成。’基本上,我的计划是基于 4.2BSD 版本。如果伯克利不发布 4.2,那就退而求其次用 4.1。我对 4.2 很有信心,因为我们一直拿到测试版,掌握得很清楚。但我们确实需要个备选方案,那就是 4.1。尽管那时 Sun 已经在伯克利之前宣布了 4.2,尽管 Bill Joy 离开时只带走了 4.1c。我们在 decvax 上发现 4.1 很稳定。我当时是技术经理。”
1980 年 1 月在旧金山举行的 USENIX 大会上,Bill Munson 曾表示 UEG 的目标是“让 DEC 了解 Unix 及其机遇。”而 Armando 心中则有另一种“启蒙”的方式。
1982 年 1 月,我在西海岸参加圣莫尼卡的 USENIX 会议,我们准备宣布 DEC 有了 Unix 产品,这时 Bill Munson 飞了过来。Olsen 在我们身后。据说他拿了我寄给他的一个 Unix 车牌贴在某人胸前,对 Munson 说:“出去做一个 Unix 产品,把它做好!”于是 Munson 赶夜航飞到西海岸去发布这个消息。
Armando 最难忘的“亮相”之一是在 1983 年 1 月于圣地亚哥举办的 USENIX 会议上。我问了他关于那次的事。
Bill Shannon 刚买了一辆新的 Datsun 280ZX,我们开车去 Burger King 看车。Bill 的车牌是“UNIX”,我们想为 USENIX 会议做点特别的东西……大家都有各自的噱头。于是我们说:“做张海报吧”,有人说:“那就带台 VAX 和一个终端去树林里摆着。”我不记得为什么不能把 VAX 带进树林里。于是我建议用实验室里的 780,画个挡风玻璃的样子,把一些大众车轮胎和 Shannon 的车牌靠在挡风玻璃下,做张海报。可是要拿到相关许可太复杂了。后来我和我们公关部门的人聊,她有一堆目录,我翻看着这些商标目录,看到车牌这一项,突然灵光一闪。Munson 给了我 800 美元,我印了第一批 3000 块绿色的 UNIX 车牌。
我记得我站起来宣布说,现在可以从 DEC 获得 Unix 许可证了。现场有来自各 Unix OEM 的人,全都脸色苍白。我举起车牌,大家笑声掌声不断。笑声停了,有个声音从后面响起:“Armando,你哪儿学的这些?”是 Dave Yost。后来我们收到贝尔律师发来的商标信件,但他们随后打电话说,那是为了保护商标权,能不能给他们寄几块车牌。于是我们寄了几块过去。
多年来,DEC 和 Ken Olsen 一直承受着来自 Unix 用户的主要批评。1983 年在圣地亚哥的 UNICOM 大会上,Bill Munson 曾说过 Olsen 告诉他“明确表态……DEC 支持 UNIX!”但是 Olsen 也是 1988 年说出“Unix 是蛇油”的那个人。然而,作为在 DEC 担任“Unix 传教士”超过十年的 Armando 觉得,Olsen 受到了不公平的对待。
事后看来,我觉得 Ken 得到了错误的建议。Ken 是那个说“用 Unix”的人,也是那个说“用 Pmax(MIPS 交易和 DECstation 3100)”的人,买别家公司架构的人。我认为驱动他的原因是数据表明:人们想要 Unix。你知道,那句“Unix 是蛇油”的评论被断章取义了。当然,它有负面含义,但 Ken 的意思是“每个人和他们的母亲都说你需要 Unix。”每个人都在推销 Unix。我记得遇到过一些客户,他们非常坚决地说需要 Unix,但他们自己都不知道为什么。那时候有很多炒作。Ken 的意思是,“就像一个世纪前有人推销蛇油一样,现在每个供应商都在炒作 Unix 是万灵药。”那句“Unix 是蛇油”的话只是被误解了:其实是一个比喻。不幸的是,正如有人说的,Ken 并不总是意识到他说的话的影响。但就事实而言,从一个亲历者的角度看,是 Ken Olsen 在他的下属反对下推动了 Unix;推动了开放软件基金会(OSF)。DEC 的问题在于,运营公司的全是那些从工程师成长起来的人,不是有商业经验的人。像任何优秀的工程师一样,他们对自己的产品和同事有忠诚感。这就是 80 年代末和 90 年代初 DEC 问题的根源。
DEC 曾有一系列成功:PDP-11 和 VAX,在竞争少的时候。但到了 80 年代中期,工作站和 RISC 机器开始与 DEC 竞争,而 DEC 没有竞争力的机器。此外,DEC 开始尝试走出传统的科学—工程—学术领域,进入 IBM 的市场。Cutler 一直在开发新机器和新操作系统。我们确信它无法满足我们的需求。如果它成功了,价格定在 IBM 市场,那对 Unix 市场来说太贵了;如果为 Unix 市场定价,那面对 IBM 就会亏本。而且根据我们从 Sun 得到的可靠信息,Prism 机器的速度不足够。但我们希望 Cutler 的系统面向 VMS 市场,我们的系统去争夺 Unix 市场。我们的系统基于 MIPS R2000 RISC 芯片。Ken(Olsen)对此非常感兴趣!
Pmax 使公司分裂。最初,甚至东部的 Unix 团队都不愿意做。我们(位于帕罗奥多的团队)认为 DEC 足够大,能做并管理两个架构……部分讨论集中在一个计算机公司是否能成功而不拥有自己的架构。我们非常喜欢 MIPS 架构和 R2000 芯片组;喜欢 MIPS 团队;它还有 64 位的未来。还能要求什么呢?我们交谈过的客户都很喜欢它!如果 DEC 在 MIPS 关系和架构上花费一半的精力,而不是暗地里继续 Prism(后来变成 Alpha)项目,谁知道今天的行业会是什么样?
也许这类思考在 Gordon Bell 终止 DECsystem-20 时就出现过。我觉得那系统叫 Jupiter。我想是因为他不想让 VAX 有真正的竞争对手,抢走 TENEX/TOPS-20 的客户。我确信 Cutler 在 70 年代末不想有竞争对手;80 年代他也不想用不同系统服务不同市场。他真的是下定决心要扼杀 Unix。
尽管几乎全体工程管理层反对,Ken 得到董事会批准,给了我们 Pmax 的绿灯,并取消了 Prism。有个条件:我们请求的一年时间被缩短成九个月。我们做到了。《圣何塞水星报》用了“Digital 震惊硅谷”作为标题。《Upside》杂志刊登了 Ken 从帽子里变出兔子的照片,配文:“Scotty,想看我再从帽子里变出一只兔子吗?”
但 DEC 仍旧保持 NIH(Not Invented Here,不是我们发明的就不接受)的态度:Alpha 芯片其实跟 Prism 很像。Ken(或公司文化,还是同一个东西?)就是不会和别家公司合作,因此从未投入真正精力去构建和 MIPS 的未来。就连 OSF 和 X/Open 也很棘手。这只是个人观点……
有趣的是,在 Armando 和其他一些人离开了 DEC 后,ULTRIX 就没有进展了:到了 1990 年,DEC 仍然宣称“ULTRIX 操作系统是基于 4.2/4.3 Berkeley 软件发布版(BSD)衍生的实现。它提供了许多 AT&T 的 System V 中定义的系统和库调用,这些调用在 System V 接口定义中是通用的……”,而且后来 DEC 完全放弃了 ULTRIX,转而支持 OSF/1。
最后更新于