杜甫诗云:“读书破万卷,下笔如有神”。开发者多读书、读好书,能打好基础、掌握实践、答疑解惑、拓展视野。正基于此,2021年11月1日起,CSDN、《新程序员》推出“每日一书”栏目,为你推荐精选好书,助力你的开发工作如行云流水。
我们今天谈论UNIX操作系统,可以发现其在计算机世界几乎无处不在的深远影响。
当初在UNIX里实现的诸多特性已经成为如今各种操作系统所遵循的事实标准。
如果你了解那段历史,或许便越能理解现代计算机系统是如何发展成现在这样子,也越发感激那些带来UNIX的发明天才们。
![图片](https://img-blog.csdnimg.cn/img_convert/4a0912a8f88727a358b14308737e0e2a.png)
译者:韩磊
如今,UNIX传奇的见证者布莱恩·W.克尼汉创作的新书《UNIX传奇:历史与回忆》正为我们提供了一个了解UNIX传奇背后的天才人物的机会!
正如蒋涛对本书的点评“一大批天才人物聚集在一起,没有生活的压力,没有 KPI 的烦恼, 自由地探索科学的发展和应用。
即使是贝尔实验室的小角色后来都成了大人物,比如谷歌前董事长埃里克 • 埃默森 • 施密特就曾作为贝尔实验室实习生参与编写 Lex 第一版程序。
- 这些天才人物是什么样的个性?
- 创作一个个优秀工具的时候他们经历了什么样的思考和过程?
- 什么样的环境和机制才能带来这样的创造性?
这些精彩往事值得细读。
那么,便让《UNIX传奇:历史与回忆》带领我们一一了解是哪10位伟人将UNIX送上计算机界的神坛。
— 01 —
UNIX之父——肯·汤普森
在《UNIX传奇:历史与回忆》一书中,布莱恩·W.克尼汉对肯·汤姆森极为推崇。
他认为早期为UNIX做出贡献的核心人物就是肯·汤姆森,肯·汤姆森是他见过最棒的程序员,也是无人可以比肩的原创思考者。
确实,布莱恩·W.克尼汉所言非虚,肯·汤姆森可以说是计算机科学领域最伟大的人物之一,也是UNIX的第一创造者。
![图片](https://img-blog.csdnimg.cn/img_convert/e032caa1f5f9102ce20cec9fb17cc11a.png)
肯·汤姆森出生于在美国的新奥尔良。
1960年,他就读加州大学伯克利分校,主修电气工程。1966年获取了电子工程硕士学位后,他加入了汇集顶尖人才的贝尔实验室。
期间,他参与了贝尔实验室与麻省理工学院以及通用电气公司联合开发的Multics系统项目。
后来贝尔实验室撤出了Multics计划,而为了能够继续开发操作系统,他找到一台老式PDP-7机器,重写他的“Space Travel”游戏,并着手把自己的工具扩充成完备的操作系统。
“一周,一周,再一周,我们就有了UNIX。”
如今,我们回头看,不由震惊于肯·汤姆森高效的软件生产力,他每周写一个程序,花了三周便创作出UNIX的雏形,使得在1969年,有明确UNIX特征的系统诞生于世。
之后,他和丹尼斯·里奇带领一些贝尔实验室的成员在PDP-7上面进行开发工作,实现了文件系统、进程、设备文件、命令行解释器和一些小的工具程序等。
在完成UNIX系统开发的基本工作之后,肯·汤姆森觉得UNIX系统需要一个系统级的编程语言,于是创造了B语言,B语言为前期UNIX的编程开发提供了很多便利的条件,后来丹尼斯·里奇在B语言的基础上创造了C语言。
在60年代,肯·汤姆森开发了QED(text editor)的兼容分时系统版本,并在后来与丹尼斯·里奇共同发明了UNIX ed文本编辑器。
同时,他还参与了正则表达式的设计,并将其引入到编辑器QED和UNIX上的编辑器ed中,自此以后,正则表达式被广泛地应用于各种UNIX或类UNIX系统的工具中。
期间,肯·汤姆森还发明了Thompson构造法,该算法能够将正则表达式转化为非确定有限状态自动机即能够快速处理复杂的表达式以提高匹配效率。
进入70年代,肯·汤姆森和丹尼斯·里奇继续合作开发UNIX操作系统,他们二人在Research UNIX的开发方面非常有影响力。在1975年,肯·汤姆森从贝尔实验室休假,并回到了他的母校加州大学伯克利分校。
在那里,他帮助在PDP-11/上70面安装了Version 6 UNIX系统。后来加州大学伯克利分校维护了自己的UNIX版本,即伯克利软件套件(BSD)。
![图片](https://img-blog.csdnimg.cn/img_convert/f8f77db0c6d2cbcc8c81b848cdf4ea18.png)
80年代之后,汤普逊继续修补Research UNIX,并在后来研发一个利用Unix原理的贝尔实验室九号项目新系统时,和罗勃·派克设计并实现了UTF-8编码方案。
现在,UTF-8编码已经成为互联网的主要字符编码,在所有网页中,使用UTF-8编码的网页占了一半以上。
正是由于在UNIX开发上的独特贡献,肯·汤姆于1980年当选美国国家工程院院士。
于1983年获得图灵奖,于1990年获得IEEE汉明奖,于1997年获得计算机历史博物馆研究员奖,于1999年获得美国国家技术与创新奖章和第一个金井务奖,于2011年获得日本信息与通信奖,并入选美国国家发明家名人堂(2019年追授)。
— 02 —
C语言之父——丹尼斯·里奇
就像C++的创造者本贾尼·斯特劳斯特鲁普曾说过的那样,”如果丹尼斯决定把那10年的时间花在研究深奥的数学上,UNIX就会‘胎死腹中’。
”丹尼斯·里奇对UNIX的贡献巨大。
![图片](https://img-blog.csdnimg.cn/img_convert/c3ae4b83723063290ba3b79964143cc2.png)
丹尼斯·里奇生于美国纽约州布隆克维。
他的父亲是《开关电路设计》(The Design of Switching Circuits)作者之一、贝尔实验室的资深科学家阿利斯泰尔·里奇。
他在哈佛大学完成了物理学的本科学业和应用数学的研究生学业后,加入了贝尔实验室。
当然,他也参与研发了Multics。
丹尼斯·里奇广为人知,一是因为他作为关键开发者参与了UNIX操作系统的开发,二是因为他于1972年创造了C语言,并且于1978年与布莱恩·克尼汉共同撰写了堪称C语言圣经的《C程序设计语言》。自从有了C语言,就能使用高级语言编写整个操作系统,UNIX从原来的汇编语言改为C语言编写,系统的维护和修改变得更加容易。
能将操作系统从最初的PDP-11计算机移植到其他不同架构的计算机,这也是C语言带来的另一个巨大的进步。
如今,C语言广泛用于各种应用程序、操作系统与嵌入式系统的开发之中,并影响了大多数现代编程语言。
UNIX操作系统则创建了一系列操作系统的观念和准则。
值得一提的是,1973年丹尼斯·里奇和肯·汤普森用C语言重写了UNIX,形成了UNIX第三版,此举是极具大胆创新和革命意义的。用C语言编写的UNIX代码简洁紧凑、易移植、易读、易修改,为此后UNIX的发展奠定了坚实基础。
丹尼斯·里奇对UNIX的贡献不仅仅只是技术上的发明,还包括他在写作上对UNIX的推广。
丹尼斯·里奇原著的C语言参考手册是1988年首次推出的ANSI/ISO(美国国家标准学会/国际标准化组织)的C标准的基础,也是该标准的主要构成部分。
毋庸置疑,C语言和UNIX的部分成功可以归功于丹尼斯·里奇的超一流写作。
正如道格·麦基尔罗伊所说:
“UNIX里,如果有什么东西不知道是谁的功劳,归功于里奇和汤普森一定没错。”
丹尼斯·里奇和肯·汤普森因“发展了通用操作系统的理论,特别是实现了UNIX操作系统”,于1983年共同获得了图灵奖,因创造UNIX操作系统和C程序设计语言”,于1990年共同获得IEEE颁发的IEEE汉明奖,于1999年共同获得由美国总统比尔·克林顿颁发的美国国家技术与创新奖章,于2011年共同获得日本信息与通信奖。
2005年,美国工业研究院授予丹尼斯·里奇IRI成就奖,为表彰他对计算机科学技术做出的贡献,以及UNIX操作系统对社会的广泛影响。
— 03 —
UNIX的无名英雄——道格·麦基尔罗伊
正如丹尼斯·里奇曾在“UNIX分时系统的演进”一文中写到“同样一些命令,以简单方式持续使用,构成了UNXI管道,这恰恰是管道的天才之处。
实在需要脑洞大开,才能看到这种可能性并创造出这个概念”,管道是UNIX中最引人注目的主要贡献之一。
而关于管道的想法最早的提出者便是道格·麦基尔罗伊。
![图片](https://img-blog.csdnimg.cn/img_convert/43bca2d9e43c63ad12c4f9c28313c92d.png)
道格·麦基尔罗伊是著名的数学家、工程师以及程序员。
•1954年,他在康奈尔大学获得物理学本科学位,1959年,他在麻省理工学院获得应用数学博士学位。
•他于1958年全职加入贝尔实验室,并于1965年成为计算技术研究部门的负责人。
•1997年至2007年,他任教于达特茅斯学院,教授计算机科学。
在贝尔实验室工作期间,道格·麦基尔罗伊参与了UNIX和Plan9的开发。他早期在PL/I和EPL上的语言方面工作,自UNIX问世,他便写了关于UNIX的各种基础软件(如存储分配器malloc)和一堆UNXI命令(如spell、diff、sort、join、graph、speak、tr、tsort、calendar、echo和tee等)。
其中大多数都是UNIX计算的核心工具,很多沿用至今。
他改进的spell版本有效地利用字典和启发式方法来拆分单词,极大地降低了查找工作量。
他还创建了一套规则将任意英文文本转换为音位,并写了名为speak的程序,使用该规则生成Votrax可以接受地输入内容。
关于道格·麦基尔罗伊对于UNIX的技术贡献,在《UNIX传奇:历史与回忆》已有详细的记录,但其实,在此书中,布莱恩·W.克尼汉还向读者介绍了隐性贡献。
他认为正如罗布·派克称道格·麦基尔罗伊为“UNIX的无名英雄”一样,没有道格·麦基尔罗伊的好品味和他对技术问题与人的准确判断,UNIX可能根本不会存在,当然也不会如此成功。
何以见得?
良好的管理是UNIX成功的重要因素之一。
道格·麦基尔罗伊独树一帜,正是智识出众的领导者,具有无可比拟的技术判断力。
他的管理风格是,总要最先尝试同事们开发的任何东西。UNIX本身,还有像C和C++这样的语言,以及每个UNIX工具,都得益于道格·麦基尔罗伊的良好品味和犀利点评。
UNIX的各种文档,从用户手册到几十本有影响力的书,也是如此。
并且,道格·麦基尔罗伊完善和打磨了UNIX命令手册,整理和组织了UNIX第8版到第10版的手册内容。
他不惜耽误自己的研究,热情又细心地做了这一切。
— 04 —
UNIX命名者——布莱恩·W.克尼汉
布莱恩·W.克尼汉(Brian W. Kernighan),本科就读于多伦多大学工程物理专业,1969年获得普林斯顿大学博士学位后,进入了大名鼎鼎的贝尔实验室。
2000年从贝尔实验室退休后,任教于普林斯顿大学计算机科学系。
![图片](https://img-blog.csdnimg.cn/img_convert/5ab08eb3cfaa344026d2422c85953f90.png)
每当人们盘点UNIX传奇人物时,作为计算机先驱、贝尔实验室UNIX开发组成员之一的布莱恩·W.克尼汉总是榜上有名。
但他为人却很低调,还在《UNIX传奇:历史与回忆》中自谦道“50 多年前,在一小群合作者和追随者的帮助下,有两个人创造了UNIX。
由于一系列幸运的“意外”,我在其中亦有贡献,但绝不敢居功自傲。
“我顶多是写了一些有用的软件,还有几本帮助人们学习 UNIX 及 其语言、工具和哲学的图书。这要感谢那些顶尖的合著者们。”
虽然他对自己在UNIX诞生过程中的贡献很是轻描淡写,但是他对于UNIX的贡献值得后人铭记。
在布莱恩·W.克尼汉对于UNIX的贡献中,世人最熟悉的莫过于他为UNIX取了一个有趣但意义非凡的名字——为了讽刺Multics系统,他提议用uni(指新系统“择一而从”)来替代Multics中的multi(Multics意图提供“包罗万象”的功能),命名“UNICS”。
“UNICS”音近”eunuchs“(中文翻译为宦官、太监),正中Multics系统要害。UNICS后来变成了 UNIX,一直沿用UNICS”阉割版Multics“概念。
但事实上,布莱恩·W.克尼汉在UNIX的研发和发展中做出了重大贡献。
他不仅是著名的K&R(Kernighan and Ritchie)中的K,还是AWK(Alfred Aho、Peter Weinberger和Brian Kernighan)中的K。
他也写过很多UNIX的程序,其中包括Version 7 UNIX的ditroff和cron,这两项重要的发明。他还致力于早期UNIX系统上文档编制工具的开发。
他参与创造了文档编制预处理Pic和Grap,开发了编译器Ratfor和Roff,和洛琳达·彻丽一同编写了数学排版语言Eqn。
并且,他和鲍勃·福勒以及戴夫·盖伊共同设计并实现了AMPL,这是一种像线性规划那样定义优化问题的语言。
此外,不得不说的是,布莱恩·W.克尼汉在书籍创作上的成果也能媲美他在计算机领域的贡献。
他在继《C程序设计语言》后,又推出了他的全新力作《UNIX传奇:历史与回忆》。
多亏了他出色的文采,我们才能在这本书中跨越半个世纪历史河流,探秘计算机计算发展轨迹的源头。
邂逅UNIX背后的天才们,见证UNIX的传奇历史!
— 05—
UNIX背后的开心果——彼得·温伯格
彼得·温伯格,美国著名计算机科学家,曾服务于贝尔实验室,现在google工作。
1964年,他在斯沃斯莫尔学院取得硕士学位,1969年,他在柏克莱加州大学取得数学博士学位。
毕业后,他曾至密歇根大学进行博士后学习。后来他加入贝尔实验室,在贝尔实验室工作期间,他参与了UNIX的开发并且推动了UNIX的发展。
![图片](https://img-blog.csdnimg.cn/img_convert/ad3ccf4dbf7316b802ae08c9edbc2f05.png)
在UNIX的历史中,一直流传着关于彼得·温伯格在UNIX早期开发中数码摄影的趣闻,即他的面部照片被用来展示数字成像效果。这段趣事在《UNIX传奇:历史与回忆》一书有所记录。
1985年,自彼得·温伯格晋升为1127中心主任后,其所拍摄的一张专业照片,也在UNIX房间遍地开花。
汤姆·达夫用当时刚刚推出的AT&T徽标做滤镜处理,弄成了彼得徽标,罗布·派克找人印了彼得徽标T恤衫,肯·汤普森订购了印有彼得徽标的咖啡杯。
那些年里,彼得的面孔出现在好几十个地方——组织结构图,楼梯墙壁上的圆磁阵列,还被印在新铺设的混凝土地板上和微处理器芯片上。
最吸睛的是,1985年9月16日夜间,他的形象被画在了贝尔实验室的一座水塔上。
我们可以从这些“恶作剧”中一窥贝尔实验室那种轻松愉快的工作环境和成员们幽默感。
如你所见,UNIX正是在这种一起工作,一起玩耍的乐趣和相互欣赏中成长起来的。
![图片](https://img-blog.csdnimg.cn/img_convert/6f9bd95b01416e46055dc59bbaa823d9.png)
当然,除了为UNIX开发提供乐趣外,彼得·温伯格也为UNIX的发展做出许多出色贡献。
他和斯图·费尔德曼编写了首个Fortran77编译器f77。对于这项成果,布莱恩·W.克尼汉评价为“富有挑战,物有所值”。
因为它被1127中心的数值分析人员在PDP-11和VAX上大量使用,为UNIX的发展提供了便捷。
彼得·温伯格也对密码学有一定研究,在UNIX的安全问题上颇为尽心。
彼得·温伯格较为人知的成就便是他与布莱恩·W.克尼汉、阿尔·阿霍在贝尔实验室一同研发的AWK。AWK 是专为文本处理设计领域的特定语言,通常用作数据提取和报告工具。
就像sed和grep一样,它是一个“过滤器”,能够轻松地操纵数字和字符串。
作为出现在第7版本UNIX中的早期工具之一,AWK 除了shell之外,还向UNIX管道添加了计算功能,这是标准UNIX环境中唯一可用的脚本语言。
它是单一UNIX规范的强制性实用程序之一,这正是Linux标准基础规范所要求的。
— 06 —
UNIX中的shell力量——史蒂夫· 伯恩
“正是从第7版开始,系统才开始逐渐成熟,走出了象牙塔。第7版是第一个可移植版本,UNIX从此核爆炸般地移植到了无数类型硬件上。因此,第7版地历史是所有UNIX系统共同传承地一部分。”
——道格·麦基尔罗伊,《科研版UNIX读本》
正如道格·麦基尔罗伊所说,所有UNIX系统共享的大部分传承来源于第7版本,第7版UNIX意义重大。
而在第7版UNIX中,有一个人对UNIX做出的优化贡献尤为重要。
这个人是谁呢?
他就是当时刚刚加入1127中心的史蒂夫·伯恩,他创作的Bourne shell伴随着Version 7 UNIX一同出现,颠覆了第6版本UNIX中shell笨拙又脆弱的机制。
![图片](https://img-blog.csdnimg.cn/img_convert/01070473ed8fef7a365abd7d9f1b897f.png)
史蒂夫·伯恩,1944年出生于英国,他取得了英国伦敦国王学院的数学硕士学位,取得了剑桥大学三一学院的数学博士学位,是著名计算机科学家。
1976年,刚刚加入1127中心的史蒂夫·伯恩编写了一个新的shell。
它融合了PWB shell的功能,同时还有其他重大改进。他的目标是保留了现有shell易于交互的优点,同时也使其成为一种完全可编程的脚本语言。
史蒂夫·伯恩的shell提供了控制流结构,包括if-then-else、while、for和case,它还支持变量,其中一些变量由shell定义,另一些变量则可以由用户定义,引用机制也得到了加强。
除此之外,史蒂夫·伯恩的shell还大大丰富了I/O重定向功能,将标准错误流和标准输出分开,这样脚本的输出就可以直接指向一个文件,而错误信息则去了终端等其他地方。这个新特性改善了第6版本shell的缺陷,特别有用。
至此,shell已经成为真正的编程语言,适用于编写几乎所有可以合理的梳理为命令序列的东西。
它经常能很好地完成这个任务,以至于不再需要编写C语言程序。
后来,更多功能被添加进来,Bash(Bourne Again Shell的简写,意为“伯恩再来shell”)已经成为大多数Linux和macOS用户事实上的标准shell。
![图片](https://img-blog.csdnimg.cn/img_convert/64f9846c672dad31b3bb969512bd733a.png)
— 07 —
语言构建工具YACC
的伟大创造者——史蒂夫·约翰逊
就像道格·麦基尔罗伊所言:“任何你必须重复做的事都有待自动化。”
早期UNIX语法分析也亟待自动化。而在这之中,有一个人的作用举足轻重。
他就是史蒂夫·约翰逊。
![图片](https://img-blog.csdnimg.cn/img_convert/a6606a8bcea8e2640e882227f5cd0c51.png)
史蒂夫·约翰逊是一位计算机科学家,在贝尔实验室和AT&T工作了近20年。
1973年,他借鉴阿尔·阿霍的语言理论,为UNIX创建编译器——编译器YACC。
编译器YACC是UNIX/Linux上一个用来生成编译器的编译器即编译器代码生成器,它促进了新语言的创造,从而带来了与计算机交流地更好方式。
正如在2008年的一次采访中,史蒂夫·约翰逊所说"YACC对UNIX和C的传播做出的贡献是我最引以为豪的"。
并且,史蒂夫·约翰逊还使用YACC创建了一个新的“可移植C语言编译器”(portable C compoler,PCC),该编译器用于解析语言的共用前端和用于生成不同计算机体系架构代码的独立后端。
PCC不仅有助于史蒂夫·约翰逊和丹尼斯·里奇在Interdata 8/32上实现UNIX,还影响了后来的C语言、C++、Fortran、Ada甚至Pascal的编译器。
此外,PCC还有一个意想不到的副产品:Lint程序。
1978年,史蒂夫·约翰逊努力解决将UNIX移植到32位机器中的便携性问题时,发明了Lint程序,它有助于在将第7版UNIX改写为可移植版本时,强制执行标准。
— 08 —
编译器Make的睿智发明家——斯图·费尔德曼
在第7版UNIX提供的多种基于语言的工具中,其中一些相当新颖,除了史蒂夫·约翰逊发明了YACC和迈克尔·莱斯克发明的Lex外,还有流传至今仍影响重大的Make。
那么,这项成功的发明背后又站着哪位科学巨人呢?
下面,我们来了解推动UNIX发展的关键人物之一:Make之父——斯图·费尔德曼。
![图片](https://img-blog.csdnimg.cn/img_convert/c5dd3d6ec26824f895585f3b3487bbbf.png)
斯图·费尔德曼(Stu Feldman),著名计算机科学家,他在普林斯顿大学取得天体物理学学士,在麻省理工学院取得应用数学博士学位。
他曾服务于贝尔实验室,担任过IBM软件部门副总裁,现在google工作。
1977年,斯图·费尔德曼在贝尔实验室工作时,与史蒂夫·约翰逊恰巧遇到了同样苦恼的事情,即曾经白费劲调试过肯定正确只是没重新编译的程序。
为此,他想出妙招:使用某种规格语言来描述程序的各个部分是如何相互依赖的。
他写了Make程序分析这些规格,并根据文件修改时间来做尽可能少的重新编译,使所有东西都能同步向前。
就这样,他在UNIX系统上创造出了最早的Make工具——第一个在UNIX系统上自动编译和安装计算机程序的程序便从此诞生!
因此,在2003年,他因发明了Make如此重要的工具而获得了美国计算机协会(ACM)颁发的软件系统奖。
— 09 —
UNIX工具箱的填充者——迈克尔·莱斯克
UNIX优于与其他操作系统的一个方面是UNIX工具的强大,各种专为UNIX开发的工具不仅使UNIX系统异军突起,还影响了后来相关软件的开发,甚至有些仍流传至今,一直是计算机界常用的工具。
对此,我们值得了解一下在其中做出突出贡献的迈克尔·莱斯克。
![图片](https://img-blog.csdnimg.cn/img_convert/fb273bb79a8df069a7f4bf96b9fdf54c.png)
迈克尔·莱斯克,是一位美国计算机科学家,博士毕业于佛大学化学物理系。
1970年,迈克尔·莱斯克加入贝尔实验室开发UNIX小组,1984年,他管理计算机研究小组,负责开发特定的信息系统应用。
如今,他任职于罗格斯大学通讯信息学院的图书馆与信息科学系。
迈克尔·莱斯克编写了许多UNIX实用程序。
他为troff开发了Tbl、refer以及标准ms宏包等文字处理工具。
Tbl提供了相当不一样的语言来制作复杂表格;Refer程序用于管理文献引用,这对技术论文来说非常重要;在标准Troff宏包ms中,迈克尔·莱斯克添加了一个格式化命令,将所有”UNIX“字样换成大写,并自动生成相关文字,说明UNIX是贝尔实验室的商标或脚注。
他还在1975年编写了词法分析器生成软件Lex,它与YACC交相辉映。
Lex简单而强大,其程序由一连串的模式(正则表达式)组成,这些模式定义了要识别的”词元“。与YACC一样,Lex可以给每个指定标记附加用C语言编写的语义操作。
由此,Lex生成C语言程序,该程序读取字符流,识别它找到的标记,并执行相关的语义操作。
Lex是UNIX环境下非常著名的工具,直到如今,仍在广泛使用。
在20世纪70年代中期,他还编写了网络实用程序UUCP,即UNIX到UNIX的拷贝程序(UNIX to UNIX copy program)。
UUCP用于在UNIX系统之间传送文件,第一个UUCP发行版就包含在UNIX第7版中。后来的最早世界性信息发布系统之一Usenet,就是建立在UUCP基础之上。
此外,他最为知名的贡献是编写了可移植I/O库——C语言中stdio.h的前身。
并且,他对C语言预处理器的开发同样有着极大的贡献。
— 10 —
BSD的奠基人——比尔·乔伊
众所周知,UNIX第7版本是最后一个发布并被广泛使用的UNIX科研版本。
从第7版开始有两条发展线:
一条来自AT&T,另一条则来自伯克利。
而之所以能从最初的科研版本UNIX演化出伯克利软件发行版(Berkeley Software Distribution,BSD)归功于于该校的研究生们。其中,贡献最大的非比尔·乔伊莫属。
![图片](https://img-blog.csdnimg.cn/img_convert/5280d304289e956ff08cea5448ee8c61.png)
比尔·乔伊,计算机科学家,1954年出生于美国密歇根州明顿山,本科就读于密歇根大学的电气工程专业。
1979年在加州大学伯克利分校获得电气工程与计算机科学硕士学位,1982年作为联合创始人和首席科学家参与了Sun微系统公司的成立,设计了Sparc微处理器。
此外,他还是Java和Jini的主要作者之一。
在读研期间,比尔·乔伊和他的同事们在赖泽和伦敦的32/V基础上添加了虚拟内存使用代码。
这个版本很快就取代32/V,而VAX本身也成了大多数用户的主要UNIX机器,PDP-11渐渐被淘汰。伯克利版本被打包并采用BSD授权发行给UNIX用户。
BSD的后裔如今仍然活跃,FreeBSD、OpenBSD和NetBSD等变种都在继续发展。
苹果公司的Darwin(macOS的核心)所使用的NextSTEP也是BSD的衍生版本。
除了BSD之外,比尔·乔伊引人注目的贡献还包括vi文本编辑器(现在仍然是最流行的UNIX编辑器之一)、
NFS、csh(C语言shell)和TCP/IP网络接口。自从有了他的socket接口,便能用与文件和设备I/O相同的读写系统调用来读写网络连接,因此UNIX很容易地添加网络功能。
并且,TCP/IP网络协议很快在相对便宜的计算机上广泛使用的Unix版本上实施,这促成了全球实时连接的互联网爆炸式增长,并成为许多其他平台实施的基础。
如今这些软件都已经广泛地使用在Solaris、BSD、GNU/Linux等操作系统中,而且开放源代码给其他人无偿使用、改进,为自由软件的发展作出了极大的贡献。
![图片](https://img-blog.csdnimg.cn/img_convert/36e3c8d41ef20012d2da22b3a8f369fa.png)
今天为大家介绍的是UNIX的发展离不开的十位关键人物,他们每一个都在UNIX传奇史上留下了自己的痕迹,对整个UNIX传奇史影响甚远。
在布莱恩·W.克尼汉的新书《UNIX传奇:历史与回忆》中,也详细记录了这群天才们的故事,和那些闪耀着天才光芒的思想。
—end—
自1969年在贝尔实验室的阁楼上诞生以来,UNIX操作系统的发展远远超出其创造者们的想象。它带动了许多创新软件的开发,影响了无数程序员,改变了整个计算机技术的发展轨迹。
本书不但书写Unix的历史,而且记录作者的回忆,一探UNIX的起源,试图解释什么是UNIX,UNIX是如何产生的,以及UNIX为何如此重要。
除此之外,本书以轻松的口吻讲述了一群在贝尔实验室工作的发明天才的有趣往事,书中每一个故事都是鲜为人知却又值得传播的宝贵资源。
本书适合对计算机或相关历史感兴趣的人阅读。读者不需要有太多的专业技术背景,就可以欣赏UNIX背后的思想,了解它的重要性。
(声明:本文转载自人民邮电出版社IT专业图书旗舰品牌“异步图书”微信公众号。)