Linus,Linux 作者访谈

作者: Robert Young

第 1 期,1994 年 3/4 月刊

Linus(发音类似 shyness)Torvalds(Linux 内核的作者)在一月份与我们进行了几天的电子邮件交流,向我们介绍了他对 Linux(发音类似 clinics)的未来发展方向以及他在其开发中持续扮演的角色的看法。

Linux Journal 肯·汤普森曾被问到,如果他有机会重新来过,他会在 Unix 中做哪些改变。他说他会在 creat 系统调用中添加一个 e。

你和 Linux 呢?

Linus: 嗯,考虑到它发展得如此出色,我真的不能说有什么地方出错了:我确实犯了一些设计上的错误,而且大多数时候这些错误都需要重写代码(有时只是一点点,有时是很大一部分)来纠正,但这在你不真正了解所有问题的情况下是无法避免的

如果说有什么让我感到困扰,那通常是用户级程序和内核之间的接口:内核与内核的关系我可以很容易地在一个地方修复,但是当我注意到系统调用的设计很糟糕时,改变它就相当困难了,而且主要涉及到添加一个新的系统调用,它的语义是旧系统调用的超集,然后留下一个兼容性补丁,以便旧的调用仍然可以工作。这很丑陋,除非真的必须这样做,否则我会避免。

现在我实际上更愿意稍微改变 and write() 系统调用的语义,但收益真的不值得为此付出的麻烦。

Linux Journal Linux 收到的最一致的赞扬是它在 Intel PC 电脑上的稳定性。与移植到 Intel 平台的“真正的 Unix”相比,这一点尤其如此。

你认为 Linux 在哪些方面做得对,从而导致了其他 PC Unix 的问题?

Linus: 可能有两个原因。一个原因仅仅是设计,它相当简单,并且自然地非常适合 PC 架构。这使得很多事情变得更容易。我怀疑另一个原因是驱动程序相当稳定:PC 硬件真的很糟糕,因为有很多不同的制造商,而且并非所有制造商都以相同的方式做事(甚至不按照规范做事)。

这给任何需要编写可在不同系统上运行的驱动程序的人带来了主要问题,但在 Linux 的情况下,这至少在一定程度上通过合理地直接访问大量不同的机器来解决。Linux 的开发周期有助于发现这些硬件问题:通过许多小的增量发布,更容易准确地找出哪段代码破坏/修复了某些硬件。其他发行版(商业版或 BSD 386 项目,它们使用不同的发布计划)在找出为什么某些东西在少数机器上无法工作,即使它似乎在所有其他机器上都能工作时,遇到了更多问题。

Linux Journal:您听说过在奔腾芯片上运行 Linux 的任何问题吗?您预计会有任何问题吗?

Linus: 我从许多报告中了解到它可以工作,并且启动检测程序甚至将芯片识别为奔腾(“uname -a”将在相当新的 kls 中给出“i586”,因为我忽略了英特尔关于名称的指南)。问题不太可能因实际处理器本身而发生,而更多地是与周围的硬件有关:使用奔腾芯片,制造商更有可能使用更奇特的硬件控制器以获得更好的性能,并且所有这些控制器的驱动程序不一定已经存在于 Linux 中。所以我收到了一些关于奔腾 PCI 机器工作正常的报告,但内核随后无法识别 SCSI 硬盘,例如。

从性能的角度来看,当前的 gcc 编译器无法进行奔腾特定的优化,所以可悲的是,Linux 现在无法充分利用该处理器。我不知道 gcc 何时会支持奔腾优化,但我预计它最终会到来(它的大部分逻辑应该已经存在,因为 gcc 已经可以处理其他复杂处理器的类似优化问题)。

一个有趣的事情是,我用来校准内核计时循环的“bogo-mips”循环在奔腾上的速度似乎比在相同时钟频率下的 i486 上还要慢。尽管如此,实际性能可能更好(计时循环只是一个递减操作,后跟一个条件跳转:奔腾将无法进行任何超标量执行优化)。

Linux Journal 随着英特尔 80XXX 系列芯片的末日临近(尽管至少还有几年),您希望看到 Linux 移植到哪个芯片或硬件平台?

Linus: Amiga 680x0 (x>=3,需要 MMU) 的移植工作已经在进行中,据报道已经基本可以使用了。我没有与开发人员进行任何密切联系,因为他们似乎知道自己在做什么,但我了解到他们非常密切地跟踪 PC 版本,并且大部分功能都已正常工作。我预计到今年年底,即使安装的机器基础要小得多,也会出现真正可用的东西。

至于其他移植:我真的很喜欢一些移植到更新和更奇特的硬件,如 DEC Alpha 芯片或 PowerPC,但据我所知,没有人真正致力于此。非 i386 移植的主要问题仅仅是缺乏动力:为了启动这种移植,你需要黑客类型的人,他们可以访问这种硬件,并且“没有更好的事情”可以做。DEC 或 IBM 尚未表现出足够的兴趣来捐赠硬件和文档以支持这项有价值的事业。

Linux Journal 您正在持续负责 Linux 的哪些方面?

Linus: 一切直接关系到内核的事情:其中一些实际上我无法自己修复(主要是我不拥有且一无所知的硬件的驱动程序),但在这种情况下,我仍然想了解这些问题,并尝试充当“路由器”的角色,将问题传递给实际处理该段代码的人。我特别认为是“我的”领域是内存管理、VFS 层和“内核本身”(调度、中断处理等)。总的来说,是构成内核核心的东西,所有其他东西都必须建立在其之上。

Linux Journal 您认为将来可以通过您在 Linux 方面的工作来谋生吗?

Linus: 嗯,我确实希望并且期望能够因为 Linux 而更容易找到工作,所以是的,至少间接地我希望能够靠这个谋生,即使工作本身可能完全无关。至于它是否会以某种方式实际涉及到 Linux 本身,我就不知道了

Linux Journal Linux 的使用正在全球范围内呈指数级增长。然而,与商业产品不同,Linux 用户没有中央注册机构。

您对今天全球范围内运行 Linux 的机器数量的“最佳猜测”是什么?您会根据什么来估算?

Linus: 我实际上完全没有好的想法:我没有真正关注 CD-ROM 的销量或任何 ftp 统计数据,所以很难说。我估计用户群约为 50,000 活跃用户:这可能非常离谱,但听起来并非完全不可能。根据拆分前的网络统计数据,col 新闻组大约有 80,000 名读者(自从那时起我就没有看过统计数据),而且我在某个地方看到了类似 10,000 张 CD-ROM 售出的数字。我敢肯定,并非所有这些都是活跃用户,但这将在数量上设置某种下限。

Linux Journal 事后诸葛亮,您是否偶尔希望您已经为 Linux 申请了专利或以其他方式保留了 Linux 的权利?

Linus: 绝对不会。即使以 20/20 的后见之明来看,我也认为 Linux 版权是我做过的最好的设计决策之一,以及接受其他持有者(当然是在相同的版权条件下)拥有版权的代码。我不是 GPL 的狂热爱好者,但在 Linux 的情况下,它肯定已经足够好了。至于专利,我首先认为软件专利是一个明显的坏主意,即使我不这么认为,我也会厌恶所需的文书工作。为“Linux”这个名称获得商标可能是一个好主意,并且有人谈论过这件事,但没有人真正觉得这件事足够重要到值得为此费心(尤其因为它确实需要一些资金和工作)。

Linux Journal 您的研究领域是什么?您计划毕业后专攻什么?

Linus: 我主要学习操作系统(惊喜,惊喜)和编译器设计:主要是相当底层的的东西。我希望我能将此扩展到通信和分布式系统,原因很明显,但我还没有真正决定任何事情。到目前为止,我的“领域”是任何我发现有趣的课程,我希望将来也不必再进一步专攻。

Linux Journal Linux 正受益于全球范围内的开发努力。对于任何熟悉传统 UNIX 开发周期的人来说,Linux 的新版本以及驱动程序和实用程序的数量和频率都令人惊叹。这似乎使 Linux 比替代的 PC 版 UNIX 产品具有巨大的“竞争优势”。

您如何看待 Linux 的未来?

Linus: 我相当期望它保持与现在看起来的样子相当接近:随着一切趋于稳定,发布频率可能会稍微降低,但这可能只是意味着我将使我的快照每周而不是像现在在密集开发期间那样每天进行,并且“真正的”发布将每年发生几次,而不是像现在这样每月或每两个月发生一次。

同样,可能会保留几个不同的“软件包发布”:其中一些将在或多或少是商业性的(目前例如 Yggdrasil CD-ROM,或各种磁盘复制服务),而另一些将继续主要通过 ftp 进行电子分发。

Linux Journal 您希望 Linux 的未来是什么样的?

Linus: 与上面的问题相关,我确实希望看到一个变化:支持和文档。其中一些实际上已经发生或正在发生,但仍有增长空间。我知道一些图书项目(其中一个项目在几天前付印)和一些支持公司,我希望这将继续增长。

然后还有各种正在进行的有趣项目,我非常希望看到

Windows 模拟(正在进行中,内核支持已经存在);i386 SysV 二进制兼容性(已经在早期测试阶段)等等;以及各种不同硬件平台的移植项目,当然。

我还对实际的内核开发有各种总体(和模糊的)计划,以及一些我想在不久的将来实现的具体内容(例如,我认为今年春天我将主要致力于内存管理和相关领域)。总的来说,我只是希望拥有一个稳定而愉快的平台

Linux Journal 另外,您是否有一张您的照片可以用来 accompanying 这篇文章? 这绝不是必需的,但大量的 Linux 用户非常好奇你是谁,你为什么做 Linux 等等……你知道,Linux 故事的所有人文趣味方面。

Linus: 我“害怕镜头”,所以我没有用于此目的的好照片,这导致在某些地方使用了一些相当奇怪的照片。荷兰的一本杂志使用了一个很久以前发布的 gif 图片(质量很差,而且很大程度上是在开玩笑:我在大多数照片中都喝啤酒,包括他们使用的那张),芬兰的一本杂志使用了一张我在一个派对上的照片,照片中也有很多啤酒罐……我想我应该找一些更像样的照片。我看看。

Linux Journal 我们看到一张照片在网上流传。一张你面带微笑,前面放着一瓶啤酒,副标题是“Linus Torvalds - Linux 的创造者”——事实上,尽管所有“官方”照片格式都要求打领带并且至少要摆出半严肃的姿势,但我认为这张照片非常好,因为它把你展示成一个快乐、友善的人。

Linus: 这是另一张“派对照片”,尽管派对规模小得多,也更非正式。我不知道谁还保留着原件,所以我不太可能及时找到它,因为大多数相关人员还在其他地方,大学的教学还没有开始。荷兰的那本杂志所做的实际上是截取了 Linux 运行 X 的屏幕截图,并将 gif 图片放在 xv 窗口中(还有一些其他窗口,如 xload,以使其更像 lf);这样一来,照片的质量就无关紧要了,而且它看起来也是一个聪明的想法。你可以使用类似的技巧。我不介意看起来像一个人,而不是一个领带+衬衫机器人,所以我不介意这张照片,即使这一切都主要是在开玩笑。

Linux Journal 我们想给您赠阅 Linux Journal

Linus: 我想要一份,谢谢。

Linux Journal 另外,关于您对“其他平台”问题的回复,如果您能找到有人愿意做这项工作,我们应该能够帮助在 IBM 或 HP(甚至可能是 DEC,但我怀疑 SUN)找到可以捐赠/借用一些硬件的人。

Linus: 这会很有趣,但由于我无法做出任何承诺,并且还需要大量的技术文档(并且不能在任何保密协议下),这可能不是像这样的公司喜欢做的事情。

Linux Journal 您在哪里学会了如此流利的英语写作?

Linus: 我阅读英语比瑞典语(我的母语)或芬兰语(当然,芬兰的多数语言)都多,所以虽然实际上说英语我并不完全自在(部分原因是发音),但我阅读、写作或甚至用英语思考都没有任何问题。

阅读英语的原因很简单,因为英语有更多有趣的书籍,而且即使在这里,它们通常也更便宜(印刷量更大,没有翻译成本等)。此外,这通常是原始语言,所以即使这本书有翻译版,我也通常更喜欢用英语阅读。

 

本次采访由 Linux Journal 出版商 Robert Young, NY Unix 进行。

加载 Disqus 评论