故事 --- Linux和UNIX之间的那些爱恨与情仇


故事 --- Linux和UNIX之间的那些爱恨与情仇

文章插图
Linux和UNIX具体有哪些关系及区别?UNIX 与 Linux 之间的关系是一个很有意思的话题 。在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末 , Windows 诞生于 20 世纪 80 年代中期,Linux 诞生于 20 世纪 90 年代初,可以说 UNIX 是操作系统中的"老大哥",后来的 Windows 和 Linux 都参考了 UNIX 。
【故事 --- Linux和UNIX之间的那些爱恨与情仇】现代的 Windows 系统已经朝着“图形界面”的方向发展了,和 UNIX 系统有了巨大的差异,从表面上甚至看不出两者的关联 。
UNIX 的坎坷历史UNIX 操作系统由肯?汤普森(Ken Thompson)和丹尼斯?里奇(Dennis Ritchie)发明 。它的部分技术来源可追溯到从 1965 年开始的 Multics 工程计划,该计划由贝尔实验室、美国麻省理工学院和通用电气公司联合发起,目标是开发一种交互式的、具有多道程序处理能力的分时操作系统,以取代当时广泛使用的批处理操作系统 。
说明:分时操作系统使一台计算机可以同时为多个用户服务,连接计算机的终端用户交互式发出命令,操作系统采用时间片轮转的方式处理用户的服务请求并在终端上显示结果(操作系统将CPU的时间划分成若干个片段 , 称为时间片) 。操作系统以时间片为单位 , 轮流为每个终端用户服务 , 每次服务一个时间片 。
可惜,由于 Multics 工程计划所追求的目标太庞大、太复杂,以至于它的开发人员都不知道要做成什么样子,最终以失败收场 。以肯?汤普森为首的贝尔实验室研究人员吸取了 Multics 工程计划失败的经验教训,于 1969 年实现了一种分时操作系统的雏形,1970 年该系统正式取名为 UNIX 。想一下英文中的前缀 Multi 和 Uni,就明白了 UNIX 的隐意 。Multi 是大的意思,大而且繁;而 Uni 是小的意思 , 小而且巧 。这是 UNIX 开发者的设计初衷,这个理念一直影响至今 。有意思的是,肯?汤普森当年开发 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 年获得了计算机科学的最高奖——图灵奖
故事 --- Linux和UNIX之间的那些爱恨与情仇

文章插图
图 1 为肯?汤普森与丹尼斯?里奇的合影 , 天才都是不修边幅的……随后出现了各种版本的 UNIX 系统,目前常见的有 Sun Solaris、FreeBSD、IBM AIX、HP-UX 等 。
Solaris 和 FreeBSD我们重点介绍一下 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 的操作系统 。

推荐阅读