现在的位置:首页  /  云计算培训   /   云计算技术教程

UNIX那段坎坷的历史你了解吗

来源: 薪享宏福
发布时间: 2018年12月21日
分享到:
UNIX那段坎坷的历史你了解吗UNIX与Linux之间的关系是一个很有意思的话题。在目前主流的服务器端操作系统中, UNIX诞生于20世纪60年代末,Windows诞生于20世纪80年代中期, Linux诞生于20世纪90年代初,可以说UNIX是操作系统中的"老大哥”。
 
UNIX操作系统由肯.汤普森( Ken Thompson )和丹尼斯里奇( Dennis Ritchie )发明。它的部分技术来源可追溯到从1965年开始的Multics.工程计划,该计划由贝尔实验室、美国麻省理工学院和通用电气公司联合发起,目标是开发种交互式的、具有多道程序处理能力的分时操作系统,以取代当时广泛使用的批处理操作系统。说明:分时操作系统使一台计算机可以同时为多个用户服务,连接计算机的终端用户交互式发出命令,操作系统采用时间片轮转的方式处理用户的服务请求并在终端上显示结果(操作系统将CPU的时间划分成若干个片段,称为时间片)。操作系统以时间片为单位,轮流为每个终端用户服务,每次服务一个时间片。可惜,由于Multics. I程计划所追求的目标太庞大、太复杂,以至于它的开发人员都不知道要做成什么样子,最终以失败收场。以肯汤普森为首的贝尔实验室研究人员吸取了Multics工程计划失败的经验教训,于1969年实现了- -种分时操作系统的雏形, 1970年该系统正式取名为UNIX。想一下英文中的前缀Multi和Uni ,就明白了UNIX的隐意。Multi是大的意思 ,大而且繁;而Uni是小的意思,小而且巧。这是UNX开发者的设计初衷,这个理念一直影响至今。
 
有意思的是,肯汤普森当年开发UNIX的初衷是运行他编写的一款计算机游戏Space Travel ,这款游戏模拟太阳系天体运动,由玩家驾驶飞船,观赏景色并尝试在各种行星和月亮上登陆。他先后在多个系统上试验,但运行效果不甚理想,于是决定自己开发一个操作系统,就这样, UNIX诞生了。
 
自1970年后, UNIX系统在贝尔实验室内部的程序员之间逐渐流行起来。1971- -1972年,肯汤普森的同事丹尼斯:里奇发明了传说中的C语言,这是一-种适合编写系统软件的高级语言,它的诞生是UNIX系统发展过程中的一个重要里程碑,它宣告了在操作系统的开发中,汇编语言不再是主宰。到了1973年, UNIX系统的绝大部分源代码都用C语言进行了重写,这为提高UNIX系统的可移植性打下了基础(之前操作系统多采用汇编语言, 对硬件依赖性强) ,也为提高系统软件的开发效率创造了条件。可以说,UNIX系统与C语言是一对孪生兄弟,具有密不可分的关系。
20世纪70年代初,计算机界还有-项伟大的发明一TCP/IP协议,这是当年美国国防部接手ARPAnet后所开发的网络协议。美国国防部把TCP/IP协议与UNIX系统、C语言捆绑在一起,由AT&T发行给美国各个大学非商业的许可证,这为UNIX系统、C语言、TCP/IP协议的发展拉开了序幕,它们分别在操作系统、编程语言、网络协议这三个领域影响至今。肯汤普森和丹尼斯里奇因在计算机领域做出的杰出贡献,于1983年获得了计算机科学的最高奖一图灵奖。
 肯.汤普森与丹尼斯.里奇的合影
上图为肯.汤普森与丹尼斯.里奇的合影,天才都是不修边幅的....
 
随后出现了各种版本的UNIX系统,目前常见的有Sun Solaris、FreeBSD、IBM AIX、HP-UX等。
 
我们重点介绍一下Solaris, 它是UNIX系统的一个重要分支。Solaris除可以运行在SPARC CPU平台上外,还可以运行在x86 CPU平台上。在服务器市场上, Sun的硬件平台具有高可用性和高可靠性,是市场上处于支配地位的UNIX系统。对于难以接触到Sun SPARC架构计算机的用户来说,可以通过使用Solaris x86来体验世界知名大厂的商业UNIX风采。当然, Solaris x86也可以用于实际生产应用的服务器,在遵守Sun的有关许可条款的情况下, Solaris x86可以免费用于学习研究或商业应用。
 
FreeBSD源于美国加利福尼亚大学伯克利分校开发的UNIX版本,它由来自世界各地的志愿者开发和维护,为不同架构的计算机系统提供了不同程度的支持。FreeBSD在BSD许可协议 下发布,允许任何人在保留版权和许可协议信息的前提下随意使用和发行,并不限制将FreeBSD的代码在另一个协议下发行,因此商业公司可以自由地将FreeBSD代码融入它们的产品中。苹果公司的OS X就是基于FreeBSD的操作系统。
 
FreeBSD与Linux的用户群有相当一部分是重合的,二者支持的硬件环境也比较-致,所采用的软件也比较类似。FreeBSD的最大特点就是稳定和高效,是作为服务器操作系统的不错选择;但其对硬件的支持没有Linux完备,所以并不适合作为桌面系统。
 
其他UNIX版本因应用范围相对有限,在此不做过多介绍。