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