Linus,Linux 作者访谈

作者:Robert Young

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: 绝对不会。 即使事后看来,我也认为 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 另外,您是否有自己的照片可以用来配合这篇文章? 这绝不是必需的,但大量的 Linux 用户非常好奇您是谁,为什么要做 Linux 等等……您知道,Linux 故事的所有人文方面。

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

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

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

Linux Journal 我们想向您发送一份《Linux Journal》的免费订阅。

Linus: 我想要一份,谢谢。

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

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

Linux Journal 您在哪里学到如此流利的英语?

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

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

本次采访由《Linux Journal》的出版商 Robert Young 和 NY Unix 进行。

加载 Disqus 评论