影响Linux发展的四位天才黑客

  影响Linux发展的四位天才黑客

  相信大家对 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 得到了繁荣发展。因为开源,能够让更多的人看到你的代码,互相学习交流,从而保持整个社区的长足进步

  以上即是 Linux 的早起发展史,希望对你有所启发。

原文地址:https://www.cnblogs.com/yyuyu/p/10771810.html

时间: 2024-10-08 19:14:43

影响Linux发展的四位天才黑客的相关文章

Linux发展简史

一.Linux发展简史 1.1969年以前:Bell,MIT与GE的"Mutics"系统 Bell:贝尔实验室,隶属于AT&T公司 MIT:麻省理工学院 GE:通用电气公司 Mutics:有"多数"的意思,意在让多人同时使用一台主机的资源(多用户) ·60年代初,MIT开发出分时操作系统,最多同时提供30台终端机(技术上的限制)连接一台大型主机,以让更多用户可以同时使用同一台昂贵主机的资源: ·1965年,Bell.MIT与GE共同发起Mutics项目,目的

Linux发展与应用

  Linux发展与应用 UNIX/Linux发展是及版本 自由软件与LAMP Linux应用领域 Linux学习方法 UNIX发展历史 (1)1965年,美国麻省理工学院(MIT),通用电气公司(FE)及AT&T的贝尔实验室联合开发Multics工程计划,其目标是开发一种交互式的具有多道程序处理能力的分时操作系统,但因Multics追求的目标过于庞大复杂,项目进展远远落后于计划,最后贝尔实验室宣布退出. (2)1969年,美国贝尔实验室的肯·汤普森在DEC PDP-7机器上开发出了UNIX系统

Linux发展历程

Linux发展历程 Multics: 早期没有操作系统的前提下我们的计算机程序都会在硬件上直接运行,表现为一个个的作业(job1$$$$$job2$$$$$job3)job1运行完了用分隔符隔开运行下一个job2,这种机制叫做批处理,这时候其实远远无法发挥计算机的性能的,在这个时候有三个组织:通用电气公司GE.美国的电报电话公司ATMT的Bell实验室.麻省理工大学的人工智能实验室MIT,三个组织联合起来研究一个要比批处理系统功能更强大的多任务多用户的系统,功能很复杂技术很先进,当初都是使用汇编

胡思乱想:未来影响浏览器发展的因素

最近在思考浏览器未来发展方向,网上也有些软文,还在炒WebApp的冷饭,并没有太大新意.我自己设了一个问题:五年后的浏览器.我大胆在这里总结一下,抛出来请大家指教.内容的组织有点乱,其实不重要,发散而已. 我个理解浏览器所在的大环境有如下一些重要变化影响浏览器发展: 1 内核趋同,竞争者增多,创新点发散,需求也在多样化. 浏览器市场必然要进一步细分,同时需要提供个性化的功能.一方面新入者的创新会集中在外壳层次,开放内核,可以巩固占有率,降低新入者的影响.另一方面,提高自己的研究投入,不单关心微小

Linux发展历史图

Linux发展历史图 http://futurist.se/gldt/wp-content/uploads/12.10/gldt1210.svg

第二天-计算机硬件基本知识和linux发展简史

今天老师讲了两个部分的内容,第一个是计算机硬件的基本知识,第二个是讲了一下unix.linux简史. 第一部分:计算机硬件核心知识 1.PC服务器,当前互联网公司应用最多的服务器品牌有DELL.HP.IBM. 其中DELL品牌:2010年以前 1u  1850  1950.2u   2850  2950 2010-2014年 1u R410/R420     R610/R620 2.电源,相当于人体的心脏,在生产环境中一般核心业务都用双电接入,如果应用了集群可以用单  电接入. 3.CPU,相当

jpeg和gif已经影响互联网发展进程了,他们应该被历史淘汰了!!!

本人发现,传统的图片格式已经不适应互联网时代了!!!,故本人发起定义一种新的图片格式,后缀名为 .gnet 互联网上的图片大多有这几种来源,微博上传,视频截图,网络编辑人上传等,以目前的技术,这些图片是不可以被搜索引擎搜索的 大大阻碍了互联网的进一步整合,所以本人定义一种新的图片格式,这种图片格式含有一个储存信息的数据结构 并且对图片压缩(包括有损压缩)的过程中,储存信息可以保留原样 如果这种图片格式一经定义,相信很快就会有微博客户端,视频截图软件,浏览器等支援这种图片格式了 大家快来加入吧!!

12.8 Linux发展及VMware创建CentOS虚拟机

12.8 Linux发展及VMware创建CentOS虚拟机 内容: 1. Linux发展 人物和事件 2. Linux发行版本 3. 通过VMware 搭建CentOs 系统 4. 通过xshell连接 5. 无法连接服务器排错 6. 云服务器的简单原理 l Centos下载地址 http://mirrors.aliyun.com  #阿里云官方镜像站点 centos 最新版本 6.8 7.3 ---isos http://vault.centos.org/   #vault  电子仓库  旧

Linux发展环境准备

Linux发展环境准备红蜘蛛软件常见问题:解决方法1.192.168.21.XX 网络接口2.任务管理器--redagent--结束(有故障时) 问题:红蜘蛛窗口置顶时 关闭红蜘蛛 右键--显示工具条--右键--隐藏工具条1.1 Linux 发展 蛋 人 人 人1969 1989 谭邦宁 斯托曼 1991托瓦斯贝尔实验室 minix Stallman TorvaldsMini unix 公司:FSF Linux内核教学 项目:GNU操作系统:人与硬件的中介组成:1.内核2.命令解释器shell3