UNIX与Linux发展史

  如果用父子关系来比喻 UNIX 和 Linux 的话还是比较合适的。UNIX 是父亲,Linux 是儿子。

  UNIX 是一个相对来讲在现在的主流系统中比较古老的分支,在60年代初期就有一个雏形了,而 Linux 是90年代初才有,而 Windows 大概是 80年代。

  其实,UNIX是有3家机构和公司共同来联合开发的一个计划演变而来的。这三家都是鼎鼎大名,有一家就是耳熟能详的大学叫麻省理工(MIT),有一家是非常出名的企业叫通用电器公司(GE),还有一个在国际上都很闻名的机构叫贝尔实验室。三家联合开发了计划叫做 Multics(多路信息计算系统)。它本身有着大而复杂的意思,可想而知当时这个系统已经是一个非常复杂的操作系统,大而复杂确实是导致这个项目最终失败的主要原因,当然,除了这个原因,还有其他的原因,比如说,当时的项目管理并不是非常的完善,我们现在项目管理公司有CMMI项目管理认证,个人有PMP的认证。当时这些东西都不存在,所以当时的项目管理非常非常弱,这几个原因都导致了最后计划的失败。

  虽然这个计划失败了,但是它也直接导致了 UNIX 系统的诞生。但是有参加了这个计划的工程师 肯·汤普森,这个兄弟当时在贝尔实验室开发了一款游戏叫做太空大战,大概就是一个很简单的打飞机的游戏,然后他就在贝尔实验室的 DEC 的一个小型机叫做 PDP-7,当时在一个挺古老的系统运行这款游戏,结果发现运行贼慢,根本玩不了。如果像一般人,如果玩游戏比较慢,一般就是不玩它或者删掉了。但是汤普森这兄弟不是一般人,他居然想到去分析这个游戏为什么这么慢的原因,最后他发现是操作系统的原因,最牛的是别人决定自己写一个操作系统,那么这个操作系统诞生之后就是最开始的 UNIX 的雏形。UNIX 诞生之后,这个游戏就可以非常流畅的运行了。所以我们经常开玩笑的说,计算机技术当中最重要的发展动力其实是游戏。

  但是汤姆森最终开发这个系统不是叫 UNIX,是 UNICS。UNI 在英文中是小的意思,跟 Multcs 是对应的,小而精巧,这是汤普森当时设计这个操作系统的一个核心理念。之后,在贝尔实验室,大家都读做 UNIX,其发音是一样的,最后就把该系统称做 UNIX。

  其实 UNIX 诞生之初,并没有得到很快速的发展。因为 UNIX 是汤普森发明的,他是贝尔实验室的一个工程师,但是贝尔实验室当年又隶属于 AT&T(美国电话电报公司),这个 AT&T 是一个很特别的公司,它有点类似于中国电信,它主要的业务是电话和电报,所以并不包括软件产品,所以这个时候 UNIX 就非常尴尬,不能作为软件产品在 AT&T 上进行销售,所以当时就没有得到一个很好的推广。

  但是在 60 年代末,在国际上有一个非常重要的事情促进了这个的发展,那就是美苏冷战。当时美苏冷战在做装备竞赛,然后美国为了对抗苏联各个地方的工程师,他们搞了一个试验性的网络 ARPANET(阿帕网),它是一个非常牛的项目,因为它后来直接导致了 Internet 的诞生。不过当时,APARNET 有一个问题,它用了一个协议叫 NCP(Network Control Protocol),这个协议很慢,而且周期性不稳定,那么这个项目由美国国防部接手以后,结果发现这个协议有这样的问题,就决定资助开发一项新的协议,这个协议就是目前我们最为著名的协议 TCP/IP 协议,今天大家上 Internet,谁都不敢说不用 TCP/IP 协议,但是在当年的时候,TCP/IP 刚刚出现,其实并没有得到一个大众的认知和普及,所以美国国防部就出面,和 AT&T 做了这样一个约定来把 TCP/IP 捆绑在 UNIX 上面,来面向主要的群体是大学发行这种非商业的许可。

  而在这个背景下,70年代初,又有一个非常重要的发明,那就是 C 语言的诞生,C 语言的诞生是 IT 行业一个非常标志性的事件。当时,汤普森有一个同事,叫做丹尼斯·里奇,当时他好像是根据当时的 B 语言然后开发出了一个真正意义上的高级语言 C 语言。当时丹尼斯·里奇好像是和汤普森一块玩太空大战,发现这个游戏写得还行,但是 UNIX 系统写得差强人意,所以他们决定共同开发一门更高级的语言重新来改写 UNIX,这门语言就是 C 语言,所以上面开玩笑说,游戏才是计算机发展最重要的动力。

  所以当年在 70年代初,UNIX 的诞生和 C 语言的诞生是计算机行业非常重要的事情,因为后来的操作系统包括 Windows 和 Linux 无不受到 UNIX 操作系统的影响,而且现在的很多语言 PHP,Java等无不受到 C 语言的影响,所以后来这哥俩获得了计算机行业一个非常高的奖项——图灵奖。

  其实,现在的 UNIX 和 Linux 的内核都是由 C 语言写的,可见 C 语言的重要性。早期是用汇编写的,由于汇编语言效果比较差而且可移植性非常差,比如说,在我的电脑里这个操作系统可以用,只要换了一个操作系统,它的 CPU 发生了变化,有可能这个系统就不能使用了,那么 C 语言的诞生,一个最重要的作用就是克服了可移植性这个障碍。

  基于这样一个背景,UNIX 捆绑了TCP/IP 联网的协议,捆绑了一个开发的环境 C 语言,由美国国防部进行督促 AT&T 来发行非商业的许可(象征性的付点钱,但是不修复bug,不提供商业服务的支持)。不过,非常的便宜。到了大学之后,很多大学当时有这样一个需求,结果有的大学将这个技术做了很多的开发和变革。到今天为止,很多技术都是从大学里面走出来的,也促进了 UNIX 的普及和发展。于是就将 1970 年定为 UNIX 元年,因此计算机上的时间就是从这一年开始计算的。

  下面,我们就来看看 Linux 的发展历史,Linux 诞生的比较晚,在 1991 年。当时有一个大学生小伙子叫做李纳斯(Linus Torvalds)在大学期间,学习的一门课程操作系统后面附有一个操作系统叫做 Minix,是在1987年荷兰有个大学教授安德鲁写的,类似于 Unix,专用于教学。当 Minix 流传开来之后,由于是一个人写的,所以会存在很多 bug,所以世界各地的大牛们纷纷开始使用并改进,希望把改进的东西合并到 Minix 中,但是安德鲁觉得他的系统是用来教学的,不能破坏纯净性,所以拒绝了。

  在1991年9y月17日,Linus Torvalds(林纳斯.托瓦兹)在互联网上公布了自己写的Linux,可能是表达对安德鲁的不满吧(为什么不接受大家的好意呢?你让大家的满腔热情往哪放呢?),于是Linus发布了一个帖子,大概就是说:我写了一个操作系统的内核,但是还不够完善,你们以任何姿势使用不收费,也可以帮助我一起修改。帖子发出后引起了强烈的反响。在大家的努力下,于1994年Linux的1.0版本正式发布。可以看见当时 Linux 的logo是一个企鹅,有人说企鹅是芬兰的吉祥物,还有人说他曾经被企鹅咬过。我比较喜欢的是另一个说法,不知是真是假,企鹅是极地动物,而南极和北极在地球上是一片很不一样的区域,国际上有一个规定,不属于任何一个国家,即使你美国再牛,也不可能说南极是我们的。那么他用企鹅作为 logo,意思是他开发出的 Linux 不属于任何一个商业公司,是全人类每个人都可以分享这个技术成果的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值