Linux on Alpha:一项战略选择

作者:Jon “maddog” Hall

“Leyenooks?”,我问道,“那是什么?” 我必须承认我当时持怀疑态度。虽然眼前这位年轻人看起来很友善,但我很难想象他领导着一个创建自由软件类 Unix 操作系统的项目。然而,Kurt Reisler 对他充满热情,并且在与 Kurt 作为 Digital Equipment Corporation 用户协会 (DECUS) Unix 特殊兴趣小组 (UNISIG) 主席共事十年后,直觉告诉我应该支持他的想法。这就是为什么我要求我的管理层资助 Linus Torvalds 首次前往新奥尔良参加 DECUS 会议(1994 年春季),并资助在展会上展示 Linux 的一些设备。

当 Kurt 费力地在那台初代 PC 上安装 Linux 时,我对这笔资金持怀疑态度,但在 Linus 的出色帮助下,他最终成功安装了。我第一次看到了这个操作系统的运行,不到十分钟,我就确信“这对我来说已经足够 Unix 了。” 直觉告诉我,“这很好。”

那周晚些时候,Linus 和我们中的几个人一起乘坐了纳奇兹号,这是一艘在密西西比河上航行的蒸汽船。当我们沿着河流上下航行时,我开始思考 Linux 对于教育界可能意味着什么,以及对于 Digital 可能意味着什么。

二十五年前,我还是费城一所大学的学生。虽然我们有一个大型计算机系统,但它被锁在玻璃门后面,计算机卡上的批处理作业通过墙上的一个狭窄开口传递进去,打印输出则在 24 小时后返回。

在这种系统上学习操作系统设计意味着使用模拟器,而通过穿孔卡使用该模拟器的过程非常痛苦,就像在没有麻醉的情况下做根管治疗一样。

幸运的是,在同一所学校里有一个小型小型计算机实验室,实验室里有三台来自 Digital 的小型 PDP-8 机器。正是在这些机器上,借助 Digital 销售员免费提供给我的一些架构书籍以及来自 DECUS 的一些自由软件,我才真正开始了解计算机系统是如何工作的。我一直记得那个实验室、那些机器以及那位 Digital 销售员。

多年后,在大型 IBM 大型机上工作过,领导过一所小型两年制技术学院的部门(再次使用 Digital 的设备),并在贝尔实验室(在 Digital 的 VAX 机器上)学习了 Unix 之后,我收到了与 Digital 在新罕布什尔州纳舒厄的 Unix 团队一起工作的邀请。我接受了这份邀请,希望能为那些早期帮助我学习计算机的环境做出贡献。

在 Unix 团队工作期间,我经常听说大学、学院甚至高中都希望使用 Unix 来教授计算机科学。尽管 Unix 起源于研究工具,加州大学伯克利分校和其他学校也为 Unix 做出了巨大贡献,但我们产品的许可条款并没有让源代码的共享变得容易。

作为商业 Unix 系统,我们从多家公司获得技术许可,并将这些技术集成到我们的源代码中。一些许可协议要求我们对源代码保密,除非请求源代码的客户直接与技术供应商签订了许可协议。随着时间的推移,这意味着要获得我们 Unix 产品的全部源代码,需要十五份单独的许可证,成本数千美元,即使这样,源代码也仅限于“需要知道”的基础,不能供好奇的学生使用。

第二个问题是成本。多年来,学校一直在转向 PC 和 Macintosh 计算机,主要是因为硬件、操作系统和应用程序的成本较低。虽然这些机器可以很好地用于撰写报告或进行其他类型的“应用”工作,但由于缺乏操作系统、网络和编译器的源代码,它们对于教授操作系统设计来说不太有用。另一方面,工作站往往使用更昂贵的组件、更大的内存容量,并且通常超出大多数试图向大量学生教授计算机科学的学校的价格范围。

当我站在纳奇兹号的甲板上时,几个想法掠过我的脑海。我知道 Digital 正在开发一些低成本的 Alpha 单板计算机,这些计算机使用行业标准总线(PCI 和 ISA)。我还知道 Alpha(凭借其 64 位架构)在进行计算机科学研究以利用大型地址空间方面具有独特的能力。Alpha 处理器是一个真正的 RISC 系统,这将测试 Linux 内核的可移植性,并且 Alpha 上 Linux 的可用性将有助于开发更好的概念,以更好地利用 Alpha 的惊人速度,目前为每秒 10 亿条指令 (BIPS),即使在我们的商业 Unix 产品中也是如此。所以我问 Linus 他是否考虑过移植到 Alpha。“是的,”他说,“但是 Digital 的赫尔辛基办事处在为我寻找系统时遇到了问题,所以我可能不得不改为做 PowerPC。”

我的同事告诉我,当时我像一只受伤的猎犬一样嚎叫起来,并且(我很难相信)打翻了我的飓风鸡尾酒(一种美味的新奥尔良饮品)。就在那时,我知道我必须帮助 Linux 移植到 Alpha。

第二天,我飞回了新罕布什尔州,那天早上我给个人工作系统组的营销经理 Bill Jackson 打了电话。我解释了情况,以及为什么我认为这对 Digital 来说是一件好事。Bill 和我认识很久了,就像我对 Kurt Reisler 有信心一样,Bill 也对我充满信心。“maddog,”他说,“我只有一台 Jensen(早期 Alpha 工作站的代号,它有一个 EISA 总线),但它有 96MB 的内存、以太网和 2.5GB 的 SCSI 磁盘空间。” “再加一个 CD-ROM 驱动器,我们就成交了,”我说(作为一个强硬的谈判者),“我的成本中心将支付运费。”

我仍然需要与 Linus 正式确定协议。幸运的是,他正在波士顿参加夏季 USENIX 会议,所以我带着贷款给他的计算机系统的文件去了波士顿。“贷款期限是多久?” Linus 问道(一边啃着热狗)。“只要你需要,”我回答说,“或者直到我们能给你一台更快的系统。”

下周,该系统通过 Digital 办事处运往赫尔辛基。

大约在同一时间,我听说 Digital 内部有一群工程师也在努力将 Linux 移植到 Alpha。我给他们弄到了一台与我为 Linus 获得的那台相同的系统。

既然 Digital 现在在某种程度上进入了“Linux 市场”,我认为是时候正式写下 Linux 对 Digital 的价值,并认真思考为什么 Digital 应该支持移植工作了。我还必须考虑 Alpha 上的 Linux 系统可能如何影响 Digital 自身产品 DEC OSF/1(后来更名为 Digital Unix,以反映已被 X/Open, Inc. 认证为“Unix”)的销售。

我很快得出结论,Alpha 上的 Linux 存在市场,并且这些市场具有一些(但并非全部)相同的特征

他们需要源代码来进行

  • 更改

  • 观察

  • 交流

  • 他们有更多的时间和人力,而不是金钱

  • 他们(目前)不需要大量的商业应用程序

我还发现了一个可能(目前)想要 Linux 的市场,这些是他们的一些特征

  • 他们像我的父母一样(不识字,并且以此为傲)

  • 他们希望某个实体来保证操作系统

  • 他们主要依赖商业应用程序

这里的市场并非都是非黑即白的。例如,通常被认为是“Linux 市场”的市场之一是“计算机爱好者”市场。对于许多商业计算机供应商来说,这个市场使用从其他应用中淘汰下来的旧 PC 来推动“爱好”,很像 ARRL 著名的无线电业余爱好者。然而,如果你真正审视这个市场,你会看到这些人中的一些人购买非常精密的设备,试图达到“优势”。这可能是一个有趣(但相对较小)的市场。

另一个(更大的)市场是计算机科学教育市场。大学、学院甚至小学都教学生与计算机互动,许多学校还教授计算机科学。以 Linux 作为操作系统,并以 PC 或低成本 Alpha 处理器作为平台,这些客户现在可以积极地教授计算机科学,学生可以访问源代码,以便在自己的系统上进行修改和尝试。计算机科学研究(特别是针对大型地址空间或 RISC 指令集的研究)可以很容易地通过 Linux 来促进,并且 copyleft 许可证鼓励研究成果的自由交流。

由此带来的结果是,也可能会销售更大的系统(可能由研究经费资助)。或者,购买 100 台 Linux 桌面系统的购买者可能会喜欢一台服务器来保存学生的文件、进行打印、处理邮件等。服务器机器与客户端具有相同的架构,或者至少在二进制级别上具有数据兼容性,这是有道理的。Intel 机器和 Alpha 机器都是“小端”的,即使 Intel 架构只有 32 位,也很容易使它们数据兼容。

Linux 将会大放异彩的另一个市场是统包系统——即大量购买系统的场所,主要用于一个应用程序,例如销售点终端,或用于必须在大量离散系统上运行的大型用户编写的应用程序。在这种情况下,节省的操作系统许可证版税支付额可能足以支付系统程序员在系统箱上集成和支持 Linux 的费用。此外,由于在这些统包系统上运行的应用程序往往较少,因此可能更容易停留在 Linux 的一个版本上,而不是必须不断升级到较新版本。

最后,自由软件操作系统市场还有另一方面,那就是商业软件开发人员可以从自由软件人员的开发中收集到什么。通过查看 Linux 社区在他们的系统中加入了哪些功能,商业系统可以通过模仿自由软件操作系统中做出的设计决策来改进。并非每个设计决策都会被遵循,但肯定已经在 Linux 中看到了一些好主意,商业代码的开发人员应该对此进行研究。我们不再有重新发明轮子的奢侈。

我经常被问到 Digital Unix(Digital 的商业 Unix 产品)如何与 Alpha 上的 Linux 相适应。我看不到任何冲突。有些人想要诸如可认证的 C2 安全性、“集群”式系统(多个系统作为一个单一映像协同工作)、可扩展到大量处理器的 SMP、软实时支持(我一直在要求 Linus 将其放入 Linux)、大型基于日志的文件系统等功能。这些功能(以及更多功能)都是 Digital Unix 今天拥有的,并且将来可能会或可能不会出现在 Linux 中,这取决于 Linux 开发人员认为什么“有趣”。

另一方面,我认为 Digital 应该继续努力使 Digital Unix 与 Linux 和 netBSD(也已移植到 Alpha 处理器,并且可以通过网络获得)越来越兼容,并为 Intel 和 Alpha Linux 系统提供无盘和无数据支持。已经有一些有趣的可能性,因为 Linux Alpha 可以在 Digital Unix 系统上运行静态链接的二进制文件,并且我认为将静态链接的 Linux 二进制文件放在 Digital Unix 系统上运行也是如此。通过致力于两个操作系统之间的二进制兼容性,Digital 将有助于促进大量应用程序在这两个操作系统上运行。

Digital 目前的计划不包括发布由 Digital 创建的带有 Linux “Alphabits” 的 CD-ROM。我们认为,当前的公司和团体做得很好,我们将与这些团体合作,将 Alphabits 放在他们的发行版中。同样,我们将继续在互联网上发布我们的贡献,供 Linux 社区使用。Digital 的目标很简单,就是拥有最好、最简单、最快速的硬件来托管 Linux 操作系统,无论是基于 Intel 的 PC 还是使用 Alpha 64 位处理器的系统。

Jon “maddog” Hall 是 Digital Equipment Corporation Unix 软件组高级经理。他在 Digital 工作了 12 年,都在 Unix 组,在此之前的四年,他是贝尔实验室的高级 Unix 系统管理员。可以通过电子邮件 maddog@zk3.dec.com 联系到他

加载 Disqus 评论