与 Linus Torvalds 的对话

作者:Belinda Frazier

Linux Journal: 您最近进行了一次国际巡回演讲,在比利时、澳大利亚、新加坡和其他地方发表演讲。您能描述一下您觉得有趣的一些问题或事件吗?

Linus Torvalds: 嗯。我收到了一些有趣的问题。例如,在澳大利亚,有两位完全不同的人问我,Windows 模拟器是否会扩展以运行 OS/2 程序。我无法回答他们(虽然我认为这不太可能成为高度优先事项),但我发现有人甚至问这个问题很有趣,因为我没有见过 OS/2 程序。

无论如何,澳大利亚最有趣的部分根本不是计算机,而是那里的小型、毛茸茸的(有时是带羽毛的)动物。我在堪培拉被一只企鹅咬了(杀手企鹅再次袭击),但它是一只非常小且胆小的企鹅。我自然也看到了所有常见的澳大利亚动物,如小袋鼠、考拉等。

LJ: 您被咬的时候是在动物园还是在海岸边?

Linus: 是在堪培拉的一个动物园。野生的神仙企鹅似乎太胆小了,根本不敢靠近。我不记得墨尔本附近那个有很多企鹅的岛屿叫什么名字了(可能是鲨鱼岛),但据报道,去那里的人只是看到很多企鹅;企鹅非常胆小,你不会靠得很近。

LJ: 您在哪里喝到最好的啤酒?

[编者注:关于啤酒的这个问题需要为 Linux 新手解释一下。Linus 在他的发行说明中感谢了“牛津啤酒巨魔”送给他一些虚拟啤酒。此外,互联网上有一张 Linus 手拿啤酒瓶的照片;照片的标题是“Linus Torvalds——Linux 的创建者”。关于虚拟啤酒和虚拟啤酒厂的笑话在 Linux 用户中广为流传。]

Linus: 澳大利亚啤酒还可以,虽然我碰巧更喜欢健力士,而不是拉格啤酒。新加坡有一种有趣的烈性黑啤酒,叫做 ABC stout(或类似的名字),但我仍然认为我应该找一天去爱尔兰。

LJ: 您有没有听到什么好笑的笑话可以和我们分享?

Linus: 我听过一个……但我不认为那个笑话适合像《LJ》这样的家庭杂志。

LJ: 您对 Linux 用户群的看法发生了什么变化?

Linus: 我认为我的看法没有太大变化。现在的用户群更像是“用户”而不是“黑客”,但这并不是我在国外旅行期间获得的新发现。

他们中的一些人会做很棒的烧烤,还有一些人会说“G'day mate”。

LJ: 我们上次通过电子邮件交谈是在去年一月份,在过去的八个月里发生了很多事情。您现在正在进行哪些 Linux 项目?

Linus: 嗯……我想是在为 1.2 做准备。已经晚了,但我希望尽快完成。当然,那里有各种各样的问题——主要是软盘驱动程序和新型思科的 TCP 问题。

还有 Alpha 端口。请关注这里,但不要屏住呼吸,否则你会脸色发青、布满斑点。

LJ: 您的预测中已实现或接近实现的项目包括:i386 SYSV 二进制兼容性和 Windows 模拟(据说已完成一半)。您是否惊讶地发现,与 Unix 相关的哪些项目或工作尚未实现或接近实现?

Linus: 我?对未完成的项目感到惊讶?你一定是在开玩笑。我更惊讶于各种已经完成的事情(Linux 系统本身就是我感到惊讶的事情之一)。

当然,有一些项目还没有取得任何成果,但我对这些项目并没有抱太大的希望(但我很乐意被证明是错的)。比如一个不错的 WYSIWYG 文字处理器(是的,我偶尔会使用 LaTeX,但不,我还没疯到认为它是答案)。

LJ: 我们听说您正在为 Alpha 做 64 位端口。进展如何?

Linus: 目前我只有一个引导加载程序,正在测试 Alpha 控制台代码(本质上与 PC 兼容机上的 BIOS 相同,但更复杂且文档不太完善)。所以我有一个简单的程序,可以启动系统并探索正在发生的事情(我可以告诉你,Alpha 是一个有趣的芯片)。Jim Paradis 的端口进展更快,甚至可以让你获得 shell 提示符(但仅此而已)。我肯定会利用它,但旅行限制了我使用电脑的时间。

LJ: 我听说有两个工作正在进行,将 Linux 移植到 PowerPC 和 Mac,其中一项工作因缺乏来自 Apple 的信息而被搁置。您认为这项工作停滞了吗,或者您是否知道是否仍在取得真正的进展?

Linus: 我对 PowerPC 端口一无所知。我只偶尔看到一些报告(最新的报告确实说他们不了解 IO 接口)。苹果公司不以披露技术信息而闻名,IBM 似乎也没有推出任何 PowerPC 机器(RT 除外,RT 不遵循 PReP)。我不知道 PowerPC 将会发生什么(就 Linux 或任何其他方面而言)。我看到一份关于 IBM 现在也在考虑再次使用奔腾的报告。

LJ: 什么是 PReP 或 PReP 机器?

Linus: PReP 代表“PowerPC 参考平台”——本质上是 PowerPC 芯片的统一外部接口,定义了外部总线和 BIOS 接口。这是一个 IBM 标准,但即使 IBM 也没有任何机器遵循该标准。IBM 确实有使用 PowerPC 芯片组的机器,但这些机器位于其 RT 系列 Unix 计算机中,并且围绕芯片有自己的总线架构(本质上与 POWER 系列处理器相同,POWER 系列处理器是 PowerPC 芯片的前身)。

LJ: 因为您比任何人都更了解内核,您对移植有什么看法?您认为移植会容易吗?您认为它在 PowerPC 上会像在 Intel 架构上一样运行良好吗?

Linus: 哦,PowerPC 芯片本身应该不是问题。芯片的内存管理相当奇怪(而且在我看来很丑陋),但这可以被视为扩展的 TLB,PowerPC 端口可以很好地使用与当前 i386 版本相同的内存管理架构等。该端口显然应该在芯片上运行得很快。

除非出现一些情况(例如,IBM 最终发布了 PReP 机器并实际提供了足够的技术文档),否则周围的硬件(以及设备驱动程序)将被证明更成问题。

LJ: 什么是 TLB?

Linus: TLB:转换后备缓冲区。它本质上是处理器内部的一个小型缓存,用于缓存页表,以便处理器在每次进行内存访问时无需在页表中查找虚拟物理映射。

i386 有一个包含 18 个条目的 TLB(不要引用我的话,但这大概是这个数量级),它使用它来缓存定义虚拟内存布局的 2 级页表。当发生 TLB 缓存未命中时,i386 将(在硬件中)在页表中查找虚拟映射,并填充 TLB。

PowerPC 使用稍微不同的方法——当它未命中其 TLB 时,它不会进行页表查找。相反,它将从操作系统填充的哈希表中查找新的 TLB 条目。操作系统可以使用它想要的任何页表来生成该哈希表。

作为最后一个例子,让我们以 Alpha 为例:它只有一个 TLB,并且以软件(PAL 代码)进行任何 TLB 未命中查找。因此,您可以选择自己的页表实现方式。(您可以像 PowerPC 一样使用哈希表加上物理页表,或者您可以像 i386 一样直接访问页表。)

LJ: 您认为我们什么时候会看到 Linux 在 PowerPC 上运行?

Linus: 我对此不作评论。我认为 Alpha 和 MIPS 端口都会在 PowerPC 之前出现,仅仅是因为硬件和文档已经存在。

LJ: 您认为 Linux 需要哪些新功能?

Linus: 普通用户可能需要的主要新功能是运行 Windows 二进制文件的能力;我希望 Wine 项目真的能成功。从内核的角度来看,内存管理需要一些调整,并且需要重新组织缓冲区缓存,以允许按 inode 和偏移量而不是当前以设备为中心的视图进行索引。而线程处理已经成为一个问题。

LJ: “名字有什么关系?” 您认为如果您将操作系统命名为您最初考虑的 Freakix,Linux 会像现在这样快速发展吗?您认为会有人出版《Freakix Journal》吗?

Linus: 实际上,只是“Freax”。我认为 Linux 最终成为了一个更好的名字,尽管我起初认为它听起来太自我主义了。

LJ: 您还有什么想说的吗?

Linus: 所以这就是你们希望我做出所有有趣的启示的地方,是吗?又一次失败了。

LJ: 您对 Linux 有什么新的希望吗?

Linus: 我认为我的“计划”说了类似“统治世界。迅速。”之类的话。但我们会拭目以待。

LJ: 感谢您接受采访,Linus。我们感谢您抽出时间回答我们的问题。

在线聊天

加载 Disqus 评论