内容简介:相信大家对 Linux 再熟悉不过了。我们都知道 Linux继承自 Unix,但其实他们上一代还有一个 Multics。从最早的 Multics 发展到最早版本的 Linux,用了 28 年。这其中有四位天才级大师的贡献功不可没。现在就大家一起来回顾一下这段历史Multics 全称是 MULTiplexed Information and Computing System。维基翻译过来是![pic_2.png](https://raw.githubusercontent.com/hacksman/artic
相信大家对 Linux 再熟悉不过了。我们都知道 Linux继承自 Unix,但其实他们上一代还有一个 Multics。从最早的 Multics 发展到最早版本的 Linux,用了 28 年。这其中有四位天才级大师的贡献功不可没。现在就大家一起来回顾一下这段历史
操作系统鼻祖——Multics
Multics 全称是 MULTiplexed Information and Computing System。维基翻译过来是 多任务信息与计算系统 。它是一套分时多任务操作系统。那到底是个啥东西呢?可以简单的理解是个支持并发的操作系统。举个例子,我们假设现在网易云音乐是这个大的系统,如果我们是个单任务系统的话,现在你要听歌,但是发现现在有一个人已经在听歌了,那么你就只能等他听完了,没人在线了,你才可以听。而如果是多任务的话,咱们可以这样,你听歌的同时,他也在听,因为计算机的处理速度非常快,所以它在切换任务的时候。你不会感觉到有任何卡顿现象。这个项目在 1964 年由贝尔实验室麻省理工学院及美国通用电气公司共同参与研发。目的是实现连接 1000 个终端机器,支持300个用户同时上线,但是这个项目进度太慢了,最终这里面的人被裁员,同时贝尔实验室的率先退出此项计划
Unix 的创造
![pic_2.png](https://raw.githubusercontent.com/hacksman/articles/master/影响Linux发展的四位天才黑客/imgs/Ken Thompson & Dennis Ritchie.jpg)
这其中有两位大佬就是实验室的成员,也是我们今天介绍的两位主角。一个是 肯尼斯·蓝·汤普逊 (英文名: 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 得到了繁荣发展。 因为开源,能够让更多的人看到你的代码,互相学习交流,从而保持整个社区的长足进步
以上即是 Linux 的早起发展史,希望对你有所启发
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 从梦境攻入现实:天才黑客SyScan360首演Win10虚拟化逃逸神技
- 天才码农的加密黑帮帝国
- 一个天才程序员的黑帮大佬人生
- Kafka竟然不支持读写分离!今天才知道!
- Kafka竟然不支持读写分离!今天才知道!
- 将CNN与RNN组合使用,天才还是错乱?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
iBATIS实战
(加)Clinton Begin、(加)Brandon Goodin、(加)Larry Meadors / 叶俊 / 人民邮电出版社 / 2008-5 / 45.00元
《图灵程序设计丛书•Java系列•iBATIS in Action iBATIS实战》是讲述iBATIS框架的权威著作。书中既详实地介绍了iBATIS的设计理念和基础知识,也讨论了动态SQL、高速缓存、DAD框架等高级主题,还讲解了iBATIS在实际开发中的应用。《图灵程序设计丛书•Java系列•iBATIS in Action iBATIS实战》的最后给出了一个设计优雅、层次清晰的示例程序JGa......一起来看看 《iBATIS实战》 这本书的介绍吧!