简述

了解过去,我们才能知其然,更知所以然。总结过去,我们才会知道明天该何去何从。在时间的滚轮中,许许多多的东西就像流星一样一闪而逝,而有些东西却能经受着时间的考验散发着经久的魅力,让人津津乐道、流传至今。要知道明天怎么去选择、怎么去做,不是盲目地跟从今天各种各样琳琅满目前沿技术,而应该是去 - 认认真真地了解和回顾历史。

提到Unix的发展史,应该来说Unix在现在主流系统上是一个比较古老的分支,因为60年代中期已经有一个雏形了,而Linux诞生于1991年,Window则问世于1985年,所以说Unix诞生的更早、更为古老。

Unix和Linux用父子关系你比喻应该还是比较合适的 - Unix是父亲,Linux则是儿子。他们之间有一个不可分割的关系,当我们学习完Linux之后,再去学习Unix的时候,就会发现它们之间无论是文件系统、基本命令或管理方式都非常相似,所以,更加利于以后学习Unix操作系统。

在技术更新如此迅速的计算机世界的今天,Unix始终保持它那神圣的光环,它那曲折和令人叹息的历史,以及由它引发的思想变革,对当今计算机文化造成的深远影响,这40多年所产生的人和事,让它成为了一个传奇,不能不让人为之惊叹。

开天辟地

两尊大神

  • Ken Thompson 肯·汤普森(左)
  • Dennis Ritchie 丹尼斯·里奇(右)

C语言之父,UNIX之父

C语言的诞生是现代程序语言革命的起点。今天,C语言依旧在系统编程、嵌入式编程等领域占据着统治地位。C语言就是丹尼斯·里奇开发的。因此,他被称为c语言之父、UNIX之父。

麻省理工大学计算机系的马丁教授评价说:如果说,乔布斯是可视化产品中的国王,那么里奇就是不可见王国中的君主。乔布斯的贡献在于,他如此了解用户的需求和渴求,以至于创造出了让当代人乐不思蜀的科技产品。然而,却是里奇先生为这些产品提供了最核心的部件,人们看不到这些部件,却每天都在使用着。

克尼汉评价道:牛顿说他是站在巨人的肩膀上,如今,我们都站在里奇的肩膀上。

顶级工程师发展到最后的形象,基本和这位一样 - 不修边幅,O(∩_∩)O哈哈~。

Multics计划

1965年,由三家科研机构联合开发Multics工程计划,这三家公司都大名鼎鼎,其中,一家是大家都能够耳熟能详的大学 - 美国麻省理工大学(MIT)、一家则是非常出名的企业 - 通用电气公司(GE)、以及在国际上都非常文明的科研机构 - AT&T的贝尔实验室。其目的是开发一种交互式的具有多道程序处理能力的分时操作系统,但是由于Multics过于复杂,项目进度远远落后于计划(也许项目管理不是很完善~~(>_<)~~),最后,贝尔实验室宣布退出。

Unix萌芽

直到1969年,贝尔实验室的肯·汤普森在DEC PDP-7机器上开发出了Unix系统。起因是由于其在那台机器上玩游戏,运行速度比较慢,按照常人的习惯:一:要么不玩 二:要么直接删掉。但是呢,牛人怎会按照常理出牌,最后发现是操作系统的问题,更牛的是居然决定自己写一个操作系统。

Unix并不像想象中发展那么迅速,因为其实在贝尔实验室发明的,而肯·汤普森是该实验室的一个工程师,当时,贝尔实验室隶属于AT&T,AT&T是一个特殊的公司(类似于中国电信吧),主要业务是电话和电报,所以不包括软件产品,所以Unix的地位就非常尴尬,不能作为软件产品在AT&T进行销售,所以呢,最后也没得到一个很好的推广。

在60年代末,国际上发生了一个重要的事情 - 美苏冷战爆发了,这促进了Unix的发展,当时,美国在做军备竞赛,为了对抗苏联,各个地方的工程师搞了一个实验性的网络 - ARPAnet,最后导致了Internet的诞生,但是ARPAnet有个问题,它使用了NCP协议(Network Control Protocol,即:网络控制协议),这个协议很慢,而且周期性的不稳定,最后这个项目由美国国防部接手以后,发现这个问题,就决定资助开发一个新的协议,这个协议就是目前最为著名的协议 - TCP/IP协议,今天,大家都在上Internet,谁都不敢说不用TCP/IP。但是,当年TCP/IP刚刚出现,并没有得到很好的机会让大众认知和普及,所以美国国防部出面,和AT&T做了一个约定,将TCP/IP捆绑到Unix上面,主要面向的群体是大学,来发售非商业的许可。

Unix发展

在此基础上,1971年,计算机领域又出现了一项非常出名的发明 - C语言的诞生。C语言的诞生是IT行业一个非常标志性的事件。当时肯·汤普森有一个同事叫丹尼斯·里奇,根据B语言开发出一个真正意义上的高级语言,就是C语言。包括后来的Java、PHP等多门语言的诞生,无不受到C语言的影响,而且很多由它演变而来,由于做出了巨大贡献,1983年,这哥俩获得计算机行业一个非常高的奖项 - 图灵奖。Unix和Linux的内核都是由C语言写的,可见C语言的重要性,其实早期室友汇编写的,效率比较差、而且可以执行非常差,C语言则克服了这一障碍,包括不同操作系统上,只需要做稍微的更改即可完美的运行,所以这位Unix的发展打下了很好的基础。基于这样的背景,Unix捆绑了TCP/IP这个可以联网的协议,捆绑了开发的环境C语言,由美国国防部督促AT&T来发行非商业的许可,非商业许可就是象征性的付点钱,但是不修复Bug,也不提供一些商业服务的支持。到了大学以后,有很多这样的需求,结果,由大学把这门技术做了很多的开发、变革、和流行的推广,这直接促进了Unix的普及和发展。

主要发行版本

操作系统 公司 硬件平台
AIX IBM PowerPC
HP-UX HP PA-RISC
Solaris Sun SPARC
Linux Red Hat、Ubuntu、CentOS… IA(Intel、AMD、Cyrix、RISE…)

AIX是运行在PowerPC上的,这是当年一款很牛的CPU,由三家公司(IBM、苹果、摩托罗拉)联合开发。

另一个则是HP的HP-UX,运行在PA-RISC上。

可能很多人对Sun公司不熟悉,如果我说Java的话,那么你想必就清楚了,如今,Sun已经被Oracle收购。

当然,除了这些还有很多其它Unix分支,比如:BSD(Berkeley Software Distribution,伯克利软件套件),苹果公司的Mac OS。。。

更多参考

  • 《鸟哥的Linux私房菜》
  • 《Linux从入门到精通》
  • 《深入理解LINUX内核》
  • 《细说Linux》
  • Unix传奇(上中下)

Unix发展史的更多相关文章

  1. UNIX发展史(BSD,GNU,linux)(转)

    转自 UNIX发展史(BSD,GNU,linux) 这篇文章写的非常好,在这里转一下. 先前的一個理想 UNIX 系统自 1969 年 Ken ThompsonKen Thompson 与 Denni ...

  2. UNIX发展史(BSD,GNU,linux)

    先前的一個理想 UNIX 系统自 1969 年 Ken Thompson 与 Dennis Ritchie 在美国贝尔电话实验室(Bell Telephone Laboratories)发展出雏形至今 ...

  3. 【历史】- UNIX发展史(BSD,GNU,linux)

    先前的一個理想 UNIX 系统自 1969 年 Ken Thompson 与 Dennis Ritchie 在美国贝尔电话实验室(Bell Telephone Laboratories)发展出雏形至今 ...

  4. UNIX发展史简介

    1965年贝尔实验室(Bell Labs).通用电气(General Electric)和麻省理工学院(MIT)欲共同打造MULTICS(Multiplexed Information and Com ...

  5. 【Linux】一步一步学Linux——Unix发展史(02)

    目录 00. 目录 01. 请参考Unix传奇 02. 03. 00. 目录 @ 本博客后面会更新 01. 请参考Unix传奇 链接: https://coolshell.cn/articles/23 ...

  6. Linux学习--第一天--Unix 、 Linux 发展史,Linux应用领域

    UNIX发展史 肯·汤姆森开发出linux. 肯·汤姆森的同事丹尼斯·里奇在1971年开发了C语言. 操作系统 公司 硬件平台 AIX IBM PowerPC HP-UX HP PA-RISC Sol ...

  7. Day3---------Linux操作系统

    ---恢复内容开始--- 网络基础和DOS命令 一.网络分类 1.地理位置 1).局域网(LAN) 2).城域网(MAN) 3).广域网(WAN) 2.传输介质 1).有线网 2).光纤网 3).无线 ...

  8. Linux基础学习(1)--Linux系统简介

    第一章——Linux系统简介 1.UNIX和Linux发展史: 1.1 unix发展史: (1)1965年,美国麻省理工学院(MIT).通用电气公司(GE)及AT&T的贝尔实验室联合开发Mul ...

  9. Linux速通01 操作系统安装及简介

    操作系统 # a)操作系统的定义:操作系统是一个用来协调.管理和控制计算机硬件和软件资源的系统程序,它位于硬件和应用程序之间. # 操作系统分为 系统调用接口 和 系统内核 # b)操作系统内核的定义 ...

随机推荐

  1. MyEclipse报错Access restriction: The type BASE64Encoder is not accessible due to restriction on required library

    错误截图: 解决办法: 1.进入Project --> Properties --> Java Build Path --> Libraries 2.remove 掉 JRE Sys ...

  2. a标签设置高度不生效问题

    <a>是内联元素 必须设置成块级元素block 才能有width和height 不过你可以又定义display:block再定义成display:inline 以避免在IE6下产生BUG ...

  3. poj 2663 Tri Tiling (状压dp+多米诺骨牌问题+滚动数组反思)

    本来直接一波状压dpAC的 #include<cstdio> #include<cstring> #include<algorithm> #define REP(i ...

  4. Unity的Json解析<二>–写Json文件

    本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/50378805 作者:car ...

  5. HTML5 基础测试题

          HTML5 基础测试题 1.HTML5 之前的 HTML 版本是什么?() A.HTML 4.01 B.HTML 4 C.HTML 4.1 D.HTML 4.9 2.HTML5 的正确 d ...

  6. Lock-less and zero copy messaging scheme for telecommunication network applications

    A computer-implemented system and method for a lock-less, zero data copy messaging mechanism in a mu ...

  7. [React] Work with HTML Canvas in React

    React's abstraction over the DOM means that it's not always obvious how to do DOM-related things, li ...

  8. HDU 5187 zhx&#39;s contest(防爆__int64 )

    Problem Description As one of the most powerful brushes, zhx is required to give his juniors n probl ...

  9. Android程序全然退出的三种方法

    1. Dalvik VM的本地方法 android.os.Process.killProcess(android.os.Process.myPid())    //获取PID,眼下获取自己的也仅仅有该 ...

  10. Pocket英语语法---五、形式主语是怎么回事

    Pocket英语语法---五.形式主语是怎么回事 一.总结 一句话总结:1.to不定式或动名词可以在主语的位置上,但一般用it代替它做形式主语.这种情况it叫形式主语. It's a great ho ...