关于 Unix 的起源故事

Unix 的早期大师之一 Brian Kernighan 分享了他对 Unix 及其相关技术起源的见解。
95 位读者喜欢这篇文章。
Old UNIX computer

Opensource.com

Brian W. Kernighan 在他的书《Unix:历史与回忆录》中以这样一句话开头:“要理解 Unix 是如何发生的,我们必须了解贝尔实验室,尤其是它的运作方式以及它提供的创造性环境。” 这就开始了一次精彩的时间旅行,跟随一位亲历者了解早期 Unix 的创建和发展。

您可能认识 Brian Kernighan 的名字。 他是 AWK 中的“K”,是“K&R C”中的“K”(他是最初的关于 C 编程语言的“Kernighan 和 Ritchie”书籍的合著者),并且他撰写或合著了许多关于 Unix 和技术的书籍。 在我自己的书架上,我可以找到 Kernighan 的几本书,包括《Unix 编程环境》(与 Rob Pike 合著)、《AWK 编程语言》(与 Alfred Aho 和 Peter J. Weinberger 合著)和《C 编程语言》(与 Dennis M. Ritchie 合著)。 当然,还有他最新的作品《Unix:历史与回忆录》。

我采访了 Brian 关于他这本最新的书。 我认为我们花在讨论这本书上的时间和我们回忆 Unix 和 groff 的时间差不多。 以下是我们谈话的一些亮点

JH:是什么促使您写这本书?

BWK:我认为对贝尔实验室发生的事情进行历史记录会很好。 Jon Gertner 写了一本书,《创意工厂:贝尔实验室和美国创新伟大的时代》,描述了贝尔实验室的物理科学工作。 这是一部权威著作,非常技术性,不是我能做到的,但它是我这本书的灵感来源。

James Gleick 也写了一本书,《信息:历史、理论、洪水》,它不是专门针对贝尔实验室的,但非常有趣。 这也是本书的灵感来源。

我最初想写一部关于实验室的学术历史,但我意识到最好根据我自己的记忆和当时在场的人的记忆来写一些东西。 这就是本书的由来。

JH:您希望人们阅读本书中的哪些故事?

BWK:我认为我真正希望人们了解两个故事,而且它们都是起源神话。 大约一年前,当 Ken Thompson 和我在 复古电脑节时,我重新听到了这些故事。

其中一个是 Unix 本身的起源——Ken 的妻子 Bonnie 外出度假三周,而 Ken 认为他距离拥有一个完整的操作系统还有大约三周的时间。 这当然归功于 Ken 非常出色的编程能力,他能够完成这项工作真是不可思议。 它完全用汇编编写,确实令人惊叹。

[注意:这个故事从书的第 33 页开始。 我在这里简单叙述一下。 Thompson 正在研究“一种磁盘调度算法,该算法将尝试最大化任何磁盘上的吞吐量”,尤其是 PDP-7 非常高的单碟磁盘驱动器。 在测试该算法时,Thompson 意识到,“我离操作系统还有三周的时间。” 他将他的工作分解为三个单元——一个编辑器、一个汇编器和一个内核——每周编写一个。 大约在那个时候,Bonnie 带他们的儿子去加利福尼亚拜访 Ken 的父母,所以 Thompson 有了这三个星期的时间可以不受干扰地工作。]

然后是 grep 的起源故事。 多年来,我一直对这个故事有些误解——我以为 Ken 完全是按需编写 grep 的。 这是 Ken 的经典之作,他有一个伟大的想法、一个巧妙的想法、一个清晰的想法,并且他能够非常快速地编写它。 正则表达式 (regex) 已经存在于文本编辑器中,所以实际上,他只是从编辑器中提取了 regex 并将其变成了一个程序。

[注意:这个故事从书的第 70 页开始。 Doug McIlroy 说:“如果我们可以在文件中查找东西,那不是很棒吗?” Thompson 回答说:“让我想一晚上”,第二天早上向 McIlroy 介绍了他编写的 grep 程序。]

JH:您在书中没有讲到的其他故事是什么?

BWK:我立即想到了“Peter Weinberger 的脸”的故事! 有很多恶作剧是基于在随机位置弹出 Peter 的脸的照片。 有人用磁铁将 Peter 的照片贴在楼梯的金属墙上。 还有一次会议,Peter 在前面,而不是在观众席上。 当他说话时,观众席上的每个人都举起一个印有 Peter 脸的口罩。 

[注意:“Peter Weinberger 的脸”的故事从书的第 47 页开始。 Spinroot 也有一个 恶作剧存档,其中包含示例。]

我与实验室的许多人谈论了这本书。 我会给人们发送电子邮件,我会收到很长的回复,其中包含比我能放入长度或叙述中的更多的故事。 老实说,可能还有另一本书可以由其他人仅根据这些故事来编写。 令人惊讶的是,有多少人站出来讲述关于 Unix 的故事以及在甚至我都没听说过的系统上运行 Unix 的故事。

精彩的阅读

《Unix:历史与回忆录》名副其实。 在整本书中,Kernighan 分享了关于 Unix 的丰富历史的细节,包括贝尔实验室的背景、1969 年 CTSS 和 Multics 中 Unix 的火花以及 1971 年的第一版。 Kernighan 还提供了他自己对 Unix 如何成为如此占主导地位的平台的反思,包括关于可移植性、Unix 工具、Unix 战争以及 Unix 后代(如 Minix、Linux、BSD 和 Plan9)的说明。 您还会发现一些信息和精彩的故事,这些信息和故事填补了 Unix 的一些日常功能的细节。

《Unix:历史与回忆录》只有 180 多页,是一本精彩的读物。 如果您是 Linux 或任何开源 Unix(包括 BSD 版本)的爱好者,您一定会想读这本书。

《Unix:历史与回忆录》可在 亚马逊上以平装本和电子书格式提供。由 Kindle Direct Publishing 于 2019 年 10 月出版。

 

接下来阅读什么
标签
photo of Jim Hall
Jim Hall 是一位开源软件倡导者和开发者,以 GNOME 中的可用性测试以及 FreeDOS 的创始人兼项目协调员而闻名。

3 条评论

喜欢这篇文章,先生。 我需要挑选他写的一些书,它们会非常有趣。

我想你会很喜欢这本书的。 我喜欢阅读它! 有很多关于 Unix 和 Unix 命令的起源以及背后的人的精彩故事。

Jim,非常感谢你写这篇文章。 他是我一直以来的英雄之一(迫不及待地想看到关于贝尔实验室工作人员的漫威电影,他们将我们从邪恶的 Multics 中拯救出来)。

他的另一本很棒的书是

Go 编程语言

Alan A. A. Donovan · Brian W. Kernighan
于 2015 年 10 月 26 日以平装本形式出版,并于 11 月 20 日以电子书形式出版
Addison-Wesley;380 页;ISBN:978-0134190440

https://www.gopl.io/

当然还有经典软件工具及其在 Ratfor 中的示例!

Creative Commons License本作品采用知识共享署名 - 相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.