Linus 与 Lunatics,第三部分

作者:Doc Searls

本系列第一部分包含了 Linus 基于幻灯片演示的演讲稿。在第二部分中,他参加了演讲后的问答环节。在第三部分中,Linus 和朋友们与不列颠哥伦比亚省维多利亚的 维多利亚 Linux 用户组进行了问答。

我们的 VLUG 主人在码头迎接了我们,并在我们在维多利亚大学的演讲厅聚集之前向我们展示了这座城镇。当时有 30 位 Lunatics 和 50 位 VLUG 成员。一群访客聚集在舞台上的一排椅子上。VLUG 主席兼队长 Carl Constantine 主持了会议。Barbara Irwin 向 Linus 赠送了终身 VLUG 会员卡,并邀请他回到维多利亚,以享受当地 LUG 会员折扣。Barbara 自己对本次活动的报道在此

不幸的是,我的录音在活动开始很久之后才开始,并且只清晰地录到了 Linus 和 Ted 的声音,但这应该足够了。

这是我对整个巡游的报告.

--Doc Searls

Linus & the Lunatics, Part III

听众: 您能自我介绍一下吗?

Ted T'so: 我是 Ted T'so。多年来我担任过许多不同的角色。TSX-11 是大西洋这边的第一个 FTP 服务器。它是一台 Ultrix 机器,一台 MIPS DECstation,在我的桌子上运行。那是很久很久以前我在 MIT 的时候。现在我正在做一些与标准组相关的工作。我维护 e2fsprogs,ext2、ext3 的文件系统实用程序,我还摆弄文件系统。我乐在其中。

现在我在 IBM Linux 技术中心工作。

听众: 我有一个文件系统问题。如果可以从 ext3 以外的文件系统中选择一个功能来实现,那会是什么?

Ted T'so: 有一个名叫 Alex Thomas 的人正在做一些有趣的工作。他有一些概念验证代码,他在过去几周内刚刚发布出来。那是 ext3 的区 extent 映射。它们看起来非常非常有趣。它们带来了非常非常好的性能提升。基本思想是,目前,如果您使用的是标准 UNIX 间接块系统,则必须有一个表来查找文件中每个物理块的位置。问题是文件系统会非常非常努力地使块在此之上是连续的。因此,如果您查看间接块的编码,它会非常低效。您会看到类似 1000、1001、1002、1003、1004 的东西,有一种更好的方法可以表示该信息。区 extent 映射是一种实现该目的的方法。您只需简单地拥有“逻辑块 100 从物理块 1000 开始,并持续 200 个块”或类似的内容。因此,他有一些概念验证代码可以做到这一点。使区 extent 映射变得困难的是病态情况。通常在文件系统中,90% 的工作是针对病态应用程序,该应用程序决定它想要做一个在各处随机分配的稀疏文件,因此您拥有这个完全碎片化的区 extent 映射,并且您实际上必须理智地处理它——我们称之为“愚蠢应用程序的拒绝服务攻击”。

[笑声。]

所以这实际上是使它变得困难的原因。区 extent 映射的基本思想非常简单。正是处理诸如此类的东西使生活变得有点困难,这意味着您必须在磁盘上为区 extent 映射使用 b 树,等等等等。生活变得有趣。所以这是一件事。

我想看一些关于使编码更有效率的东西,当我们获得内核端部分时,我们还需要使用户空间工具理解它。这绝对是 2.7 的东西。如果我建议将它放入 2.6 test 5,Linus 会杀了我的。

[笑声]

另一件事,显然是基于研究的,是更好的启发式方法,用于决定何时应将新目录放置在与父目录相同的块组中,以及何时应将其分散开来。基本上,我们正在尝试做一些事情来避免碎片。但这意味着一些非常简单的基准测试,例如解压您的内核树,然后删除它,最终会变慢,因为我们试图避免碎片而将事物分散得太远。显然,我们在很多年前设置的一些启发式方法需要重新审视和重新考虑。而唯一真正现实的方法是收集真实的工作负载。因为通常基准测试具有相当的欺骗性,因为它们并没有真正衡量正在发生的事情。然后尝试一些不同的启发式方法,看看哪些方法实际上效果最好。问题之一是我们没有好的文件系统基准测试。通常文件系统人员会找到某种综合基准测试,试用一下,如果它使他们的特定文件系统或宠物扩展工作得非常好,他们就会大声宣扬,否则他们会尝试寻找另一个基准测试。这不是非常科学的。这相当于朝白色栅栏射箭,然后在周围画一个靶心。

[笑声]

有很多这样的事情正在发生。这是人之常情。但是获得真实的基准测试很困难,因为您需要一些能够准确反映现实生活的东西,但仍然是可重复的。这并非易事。

听众: 既然我们提到了内核,Linus,我们离 2.6 有多近了?

[笑声]

Linus: 看起来状态非常好。似乎有很多旧驱动程序最近被标记为已损坏,假设它们太旧了,人们可能不再使用它们,这就是它们仍然损坏的原因。这消除了很多编译时错误。这很好。到目前为止,没有人抱怨,这并不奇怪,因为很多旧的 CD-ROM 驱动程序实际上是随声卡一起提供的,这些声卡在制造出来十年后不太可能工作,因此可能周围没有很多这样的驱动程序了。

所以这是我一直在关注的事情之一。试图找出哪些驱动程序已损坏,并将它们标记为已损坏,这样就没人能看到它们了……然后等待尖叫声传来。

[笑声]

在某种程度上,很多尖叫声只会在 Red Hat 和 SuSE 以及其他所有人都发布发行版之后才会传来。以及那些甚至懒得在那之前进行测试的人。有些人会说,“嘿,我的旧 CD-ROM 不能用了!” 这是不可避免的。我们对此无能为力。这没关系。制作新的内核版本总是很痛苦的,它不会是完美的。

但是我们正在相当接近。我说……两个月,也许。但这只是……

听众: 圣诞节!

Linus: (耸耸肩,微笑)

听众: 我有一个真正的 SCO 许可证……

[哄堂大笑和开玩笑。]

Linus: 我不确定我想被玷污。

[笑声]

听众: 感谢 Larry Ewing,Linux 社区拥有了一个美丽的吉祥物。既然企鹅头领就在我们中间,不幸的是我们不知道他听起来像什么,我想知道今晚你是否可以为我们这个沉默的吉祥物配音。他会说什么?

Linus: 从来没有人问过我这个问题。

[笑声,掌声。]

你显然是一个独特的思想。

[笑声]

我不想给你留下 Tux 的坏印象。所以我们让他保持沉默。(停顿。)喝了几杯啤酒后,我可能会尝试。

[笑声]

关于 Tux 的好处之一是你可以把他做成任何你想要的样子,对吧?所以很多用户组都有他们自己的 Tux 版本。我知道渥太华——我想他们称自己为加拿大用户组——我不知道,随便吧。他们让他打冰球。重点是,很多人对 Tux 做了不同的事情。但从来没有人让 Tux 唱歌或类似的事情。但你可能是第一个。没关系。

如果你制作一个 3D 渲染的 Tux,演奏旧迪斯科专辑的翻唱歌曲,也没关系。

Thomas McVeigh,VLUG “财务主管和极客珠宝商”,走上舞台来到 Linus 面前: 作为一个不是程序员的人,我只是想给你一些我做的东西……

Linus & the Lunatics, Part III

听众: Thomas 是我们的珠宝专家……

Thomas: 为您手工制作的纯银和镀金翻领别针和领带别针。

[掌声。]

Linus: 人们对 Tux 做了很多事情,但通常它们不是很优雅。它们大多数都倾向于醉酒的兄弟会男孩那种事情。

听众: 当 2.6 发布时,您会继续开发 2.2 吗?

Linus: 实际上,我们已经有 2.2 的维护者了。

听众: 这是否会分裂程序 [听不清]?

Linus: 维护旧内核往往是这些出于热爱的工作之一。现在没有多少人使用 2.2 了。实际上,2.0 也有维护者。使用 2.2 的人往往不关心维护。他们使用 2.2 是因为它对他们来说有效且稳定,而且他们不想碰它,对吧?因此,维护越少越好。旧内核往往只获得真正关键的安全和错误修复,仅此而已。甚至没有像“此设备驱动程序已损坏,请修复它”这样的内容。这就像,“你为什么在新机器上使用 2.2?” 2.2 的问题实际上是 Alan Cox 决定去获得 MBA 学位。没人知道为什么,但是……随便吧。他曾经是旧内核的维护者。因此,有新人回来做这件事。它根本不会分裂,因为实际上目标受众是如此不同。我的意思是,对 2.6 感兴趣的人——它只是与运行 2.2 的人不同。因此,在任何地方都没有利益冲突的问题。

听众: 从长远来看,需要做些什么来应对企业战略 [听不清]。

Linus: 坦率地说,我很乐观。我讨厌每当出现这个话题时我们看到的负面情绪。我只是希望更多人稍微更积极一点,并说,“嘿,我们不应该那么担心企业封闭思想。” 我认为应该是企业封闭思想更应该担心开源。是的,存在潜在的真正危险,特别是法律系统被大公司操纵的那种事情。但总的来说,让我们不要过分沉迷于恐惧,而只是尽力做到最好。我的意思是,也许不信任这个系统,我不是那个意思,只是……。如果你浪费太多精力只是担心,你就什么也做不成。也许我没有回答你的问题,但至少我试图将其引导到其他方面。

听众: 作为对这个问题的跟进,我说我们都应该大规模地信任文化。我知道 10 年前我们在 386 上运行 Linux,当时我感觉在 [听不清] 或 USENET 上闲逛,没有规则,这是一个新世界,对吧?我欣赏 Doc Searls 关于随着时间推移发生的文化变革的文章。但当然,企业 [听不清] 带有那种恐惧,当然我们看到一些关于所有权之类的主流媒体垃圾。但我认为我们可以共同努力,共同保持梦想的活力。

Linus: 关于所有权和企业宣传,来自对此事有非常实际利益的人的垃圾确实很多。另一方面,媒体上有很多关于12 岁女孩被起诉的讨论,对吧?所以,它的确是双向的。并非 RIAA 和大公司想要什么就得到什么。而且从来都不是这样。实际上,开放媒体是我们最强大的武器。所以我不会太担心媒体。

听众: 随着 2.6 即将到来,2.7 和 2.8 有什么计划?

Linus: 两个月前我们在渥太华举行了一次内核峰会,试图充实 2.7 的内容。事实是,我不想让人们在 2.6 不仅发布而且稳定半年之前过多地考虑 2.7。我不会立即打开 2.7 树。我以前从没这样做过。每次我们做一个稳定的内核时,我们都希望保持它稳定一段时间。关于 2.7 的东西不多。Ted 谈论的细节种类:使文件系统使用一种新的布局,当涉及到通用内核布局时,这是一个细节。还有一些更大的东西,比如集群文件系统。真正的集群文件系统将对内核的其他部分产生更大的影响。它们不仅仅是特定的文件系统。

现在的大部分开发实际上都倾向于与硬件相关,并且是由需要新驱动程序的新设备或只需要不同处理方式才能有效处理的新硬件推动的。因此,显然 2.4 和 2.6 之间发生的最大变化很大程度上是由于很多人使用更多高端硬件造成的。例如,文件系统锁定变得更加简洁。在这个过程中,它的扩展性也更好。这不是你真正计划的事情。或者,我认为,计划它是错误的。你每天做很多小细节,最终的结果是很大的不同——在 2.6 和 2.8 之间,也许是 3.0。但这实际上是一系列相当小的进化步骤,你并没有真正提前计划很多。

Charles Roth: 我只是想跟进之前向 Linus 提出的关于商业化和大公司等的问题,向大家提出一个问题。你们有多少人真正给你们的立法者写过任何东西?

[许多人举手。]

做得好!其他所有人,花五分钟,写下您的想法或选择这里的某个人为您写一些东西。这些信件确实很重要。他们会听的。

[讨论随后进行。]

让我为所有担心可能发生的事情的人补充一点。如果你回顾一下 Linux 和开源软件在七八年前的情况。那时当我做 Linux 演示时,我通过在 Windows 中启动并运行 PowerPoint 来完成。每个人都嘲笑我。我说,“是的,但那是因为没有任何好的开源演示管理系统”,坦率地说,当时我不确定我们是否会看到一个。因为编写办公套件需要对可用性和微调的奉献精神。以及那些为程序员编写工具而不是为日常使用编写工具的开源软件工作人员。我不确定我们是否会看到开源办公套件。显然我被证明是错的。

[掌声]

如果你看看我们在相对较短的时间内取得了多大的进步,就会有很大的希望。

Doc SearlsLinux Journal 的高级编辑,负责商业报道。他在杂志上的月度专栏是 Linux For Suits,他的双周通讯是 SuitWatch

电子邮件:doc@ssc.com

加载 Disqus 评论