IT号外:影响Linux发展的四位天才黑客

2021-01-31    分类: 网站建设

相信大家对 Linux 再熟悉不过了。我们都知道 Linux继承自 Unix,但其实他们上一代还有一个 Multics。从最早的 Multics 发展到最早版本的 Linux,用了 28 年。这其中有四位天才级大师的贡献功不可没。现在就大家一起来回顾一下这段历史

操作系统鼻祖——Multics



Multics 全称是 MULTiplexed Information and Computing System。维基翻译过来是 多任务信息与计算系统。它是一套分时多任务操作系统。那到底是个啥东西呢?可以简单的理解是个支持并发的操作系统。举个例子,我们假设现在网易云音乐是这个大的系统,如果我们是个单任务系统的话,现在你要听歌,但是发现现在有一个人已经在听歌了,那么你就只能等他听完了,没人在线了,你才可以听。而如果是多任务的话,咱们可以这样,你听歌的同时,他也在听,因为计算机的处理速度非常快,所以它在切换任务的时候。你不会感觉到有任何卡顿现象。这个项目在 1964 年由贝尔实验室麻省理工学院及美国通用电气公司共同参与研发。目的是实现连接 1000 个终端机器,支持300个用户同时上线,但是这个项目进度太慢了,最终这里面的人被裁员,同时贝尔实验室的率先退出此项计划

Unix 的创造



左:Thompson | 右:Ritchie


这其中有两位大佬就是实验室的成员,也是我们今天介绍的两位主角。一个是肯尼斯·蓝·汤普逊 (英文名:Kenneth Lane Thompson),另外一个是丹尼斯·麦卡利斯泰尔·里奇(英文:Dennis MacAlistair Ritchie),Thompson 在业余时间“不务正业”地弄了一个“星际旅行”的游戏程序。


它之前在 Multics 上弄的时候的时候,发现玩起来非常不爽,就是会响应有时候快,有时候慢。就像你玩游戏的时候老是有延迟,你肯定不爽啊。他在库房发现一台闲置的 PDP-7 机器,想着自己弄一个简化版本的操作系统,只支持单机即可。于是便动手开干,要知道那时候不像现在什么东西都给你准备好了,他和他的搭档就一起一个个实现文件系统、进程、设备文件、命令行解释器等等工具程序。(笔者OS:大师就是大师工程能力令人乍舌!!!)完成之后,他让同事们一起玩他的游戏。但同事对他的这个游戏没有什么兴趣,反倒对这个系统有兴趣。同事们发现他这个相当于是 Multics 的简化版本,便戏称它这个是 "UNiplexed Information and Computing Service”,即没路信息计算系统,缩写为Unics,取其谐音Unix,这就是 Unix 的由来。此时已经是 1970 年了。小伙伴们可以打印一下计算机上的最早时间,你会发现,最早的时间就是 1970 年,即 Unix 诞生元年。Kenneth 在写完操作系统开发后,觉得 Unix 需要一个系统级的编程语言,于是就创造了 B 语言 (Basic Combined Programming Language 基本组合编程语言),但后面丹尼斯发现B语言只适合处理某些种类的问题,具有自身的局限性,于是便创造了新的语言,就是我们今天熟知的 C 语言

Unix BSD 分支的夭折



Unix 这个操作系统非常好用,于是便在贝尔实验室内部流传开来,并经过不断改良。到 1974 年的 7 月贝尔实验室公开了第五个版本的 Unix ,这首先引起了学术界的关注,并向其索取源码用作教育目的。1978 年伯克利大学推出了以 Unix 第六个版本为基础的拓展版。于是首个 Unix 拓展分支出现,并命名为 BSD (即 Berkeley Software Distribution 伯克利分发版)。80 年代后期,几个伯克利毕业的同学,成立了一家Berkeley Software Design Inc.公司,简称 BSDi。专门销售 BSD 的商业版本。当时贝尔属于 AT&T ,而AT&T被《谢尔曼反托拉斯法》规定了不能销售除了电话机电报机等之外的商品。后来 AT&T 解体了,Bell 可以售卖 Unix 了。于是把 BSD 告上了法庭,这对 BSD 来说,是一个致命的打击。并且,更过分的是,Bell 把这个价格定得死贵死贵的,一份授权 4 万美元,这让当时很多的研究者和学者望而却步。也是 Unix 厄运的导火索

Gnu计划



在 Unix 开始收费的同时,我们今天要聊的第三位老哥登场了——理查德·马修·斯托曼(英文名:Richard Matthew Stallman),他发起了 GNU 计划, 目标是创建一套完全自由的操作系统。同时开创了 Copyleft 的概念。你看一下它的 logo 就很有意思。


看图思意,我们可以理解它是反著作权,但其实它并不是说要作者放弃著作权。它的核心其实是需要使用著作权法的原则来保护使用、修改和分发自由软件的权利。而创造这个之初,其实他想要实现的,就是一个类似 Unix 的自由的操作环境,注意,这里的核心是自由。这个可以从 《Gnu 宣言》中的这段文字窥见一二——“重现当年软件界合作互助的团结精神”

Gnu 发起后,斯托曼和他的小伙伴陆续把计划中的编辑器、编译器和 shell 完成了。唯独缺乏操作系统核心。他们陆续尝试了基于 Hurd、GNU Mach 内核进行开发,认为可以借此加速操作系统的开发。但因为一直不确定卡内基梅隆大学何时要将核心源代码发布,造成计划胎死腹中

Linux 的诞生



时间推移到 1991 年,一名 21 岁就读赫尔辛基大学的计算机科学专业的学生——林纳斯·托瓦兹(瑞典语:Linus Benedict Torvalds)登场了,他当时发现 Minix (塔能鲍姆教授为了教学之用而创作的类 Unix 的操作系统)一些不完善的地方。但塔能鲍姆教授觉得他写的这个东西,仅仅是用作教学,因此也不准备把它完善。这个时候,托瓦兹想着要不自己实现一个?刚开始就打算写一套简单的操作系统内核,并马上着手开干。8月25日,他在 comp.os.minix 发了一个帖子:

我在做个(自由的)操作系统(就是个兴趣爱好,我不会搞得像GNU那么大那么专业),打算让它工作在386 AT平台上。它从四月就开始酝酿了,马上就快好了。我想要那些喜欢或不喜欢minix的人的意见,因为我的系统和它有点类似(同样的文件系统的物理布局——由于实际原因——还有些其他的东西)。我现在已经移植了bash(1.08)和gcc(1.40), 而且看起来奏效了。这意味着我会在几个月内得到一些实用的东西。“……”是的——它没有任何minix代码,并且它有一个多线程的fs。它不可移植(使用386任务切换等),而且它可能永远不会支持除AT硬盘之外的其他东西,因为我只有这些:-(。[1]

同年九月份,Linux 内核版本 0.01 在芬兰大学和研究网络的 FTP 服务器上发布,有 10239 行代码,一个月后, 0.02 版本的内核版本发布。不愧为 Linux 操作系统之父,这么短的时间内就可以把一个操作系统的核心弄出来

Linux 内核是在遵守 Gnu 通用公共许可证之下发布的, 而这边 Hurd 内核的计划严重延期了。慢慢的,Linux 则替代了原来要开发的 Hurd 内核。至此,Gnu 计划基本完成。此时操作系统命名为 Gnu/Linux。但人们却往往把它简称为 Linux,求斯托曼宝宝的心理阴影面积。要说名字叫法这个事,真不是偶然,比如 Uber 这个第一个词读 “污”,但是国内很多人把他读作“优”,后来官方也只能发布官方版为“优步”,类似的还有 wiki、ubuntu 等。有兴趣的小伙伴可以自己去了解下


1994 年 3 月 14 日,Linux 内核 1.0.0 发布,共 176250 行代码。也就是正式版。至此之后 Linux 得到了长足的发展,也影响我们无数人的工作方式,毫不夸张地说,Unix 以及 Linux 的创造和发展,对整个社会的历史进程,有着深远的影响。而他们在一开始,其实不过是汤普逊想实现一个游戏程序,托瓦兹不过是想参照着 Minix 并完善它没有实现的功能罢了,所有说,对程序员来说,适当的“不务正业”,可能会有意外的惊喜

总结

纵观 Linux 的早期发展史,从肯尼斯·蓝·汤普逊、丹尼斯·麦卡利斯泰尔·里奇、理查德·马修·斯托曼以及林纳斯·托瓦兹这四个天才级黑客身上。我们会发现他们的一些共同特质

首先就是惊人的执行力,要知道,在他们那个时期和圈子里。其实是有很多人能够做到和他们一样的事情。但为什么是他们首先完成了这件事并名留史册?机会永远留给有准备的人没错,但其实这句话不完整,机会其实是留给第一时间抓住它的有准备的人

其次培养自己的兴趣爱好。不管是汤普逊想实现一个星际旅行游戏,还是托瓦兹想做个个人的操作系统。它的源动力都来自于他们的兴趣爱好。很难想象一个人在自己不感兴趣的点上,能做出点什么成绩。因此,我们应该在日常保护好自己的兴趣爱好。他不一定能让你实现可见的财富上的收益,但却可能让你成为一个更有趣的人

最后多分享,保持开放的心态。Unix 之所以胎死腹中,就是因为早期的闭源,错过了最好的发展机会。而斯托曼、托瓦兹倡导的开源使得 Linux 得到了繁荣发展。因为开源,能够让更多的人看到你的代码,互相学习交流,从而保持整个社区的长足进步

网站题目:IT号外:影响Linux发展的四位天才黑客
本文网址:https://www.cdcxhl.com/news40/98440.html

成都网站建设公司_创新互联,为您提供网站内链网站改版品牌网站建设定制开发网站排名服务器托管

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

商城网站建设