现存的Unix系统
基本简介 最早由Ken Thompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发。经过长期的发展和完善,目前已成长为一种主流的操作系统技术和基于这种技术的产品大家族。由于UNIX具有技术成熟、结构简练、可靠性高、可移植性好、可操作性强、网络和数据库功能强、伸缩性突出和开放性好等特色,可满足各行各业的实际需要,特别能满足企业重要业务的需要,已经成为主要的工作站平台和重要的企业操作平台。它主要安装在巨型计算机、大型机上作为网络操作系统使用,也可用于个人计算机和嵌入式系统。曾经是服务器操作系统的首选,占据最大市场份额,但最近在跟WINDOWS SERVER以及Linux的竞争中有所失利。
UNIX详细介绍
Ken和Dennis最早是在贝尔实验室开发Unix的,此后的10年,Unix在学术机构和大型企业中得到了广泛的应用,当时的UNIX拥有者AT&T公司以低廉甚至免费的许可将Unix源码授权给学术机构做研究或教学之用,许多机构在此源码基础上加以扩充和改进,形成了所谓的Unix“变种 (Variations)”,这些变种反过来也促进了Unix的发展,其中最著名的变种之一是由加州大学Berkeley分校开发的BSD产品。
后来AT&T意识到了Unix的商业价值,不再将Unix源码授权给学术机构,并对之前的Unix及其变种声明了版权权利。变种BSD Unix在Unix的历史发展中具有相当大的影响力,被很多商业厂家采用,成为很多商用Unix的基础。BSD使用主版本加次版本的方法标识,如 4.2BSD,4.3BSD,在原始版本的基础上还有派生版本,这些版本通常有自己的名字,如4.3BSD-Net/1,4.3BSD-Net/2等。其不断增大的影响力终于引起了AT&T的关注,于是开始了一场旷日持久的版权官司,这场官司一直打到 AT&T将自己的Unix系统实验室卖掉,新接手的Novell公司采取了一种比较开明的做法,允许伯克利自由发布自己的BSD,但是前提是必须将来自于AT&T的代码完全删除,于是诞生了4.4 BSD Lite版,由于这个版本不存在法律问题,4.4BSD Lite成为了现代BSD系统的基础版本。尽管后来,非商业版的UNIX系统又经过了很多演变,但其最终,都是建立在BSD版本上(Linux除外)。所以从这个角度上,4.4 BSD又是所有免费版(Free Version)Unix的基础,它们和Unix V及Linux等共同构成Unix操作系统这片璀璨的星空。
BSD在发展中也逐渐衍生出3个主要的分支:FreeBSD,OpenBSD和NetBSD。
此后的几十年中,Unix仍在不断变化,其版权所有者不断变更,授权者的数量也在增加。Unix的版权曾经为AT&T所有,之后Novell拥有了Unix,再之后Novell又将版权出售给了SCO(这一事实双方尚存在争议)。有很多大公司在取得了Unix的授权之后,开发了自己的Unix产品,比如IBM的AIX,HP的HPUX,SUN的Solaris和SGI的IRIX。
Unix操作系统设计理念先进,当前许多流行的技术和方法如微内核技术、进程通信方法、TCP/IP协议、客户/服务模式等都源自Unix,Unix几乎对近代的操作系统都产生了影响。
Unix因为其安全可靠,高效强大的特点在服务器领域得到了广泛的应用。直到GNU/Linux流行开始前,Unix也是科学计算、大型机、超级计算机等所用操作系统的主流。
UNIX历史
初创期 Unix的诞生和Multics(Multiplexed Information and Computing System)是有一定渊源的。Multics是由麻省理工学院,AT&T贝尔实验室和通用电气合作进行的操作系统项目,被设计运行在GE-645大型主机上,但是由于整个目标过于庞大,糅合了太多的特性,Multics虽然发布了一些产品,但是性能都很低,最终以失败而告终。 AT&T最终撤出了投入Multics项目的资源,其中一个开发者,Ken Thompson则继续为GE-645开发软件,并最终编写了一个太空旅行游戏。经过实际运行后,他发现游戏速度很慢而且耗费昂贵——每次运行会花费75美元。 在Dennis Ritchie的帮助下,Thompson用PDP-7的汇编语言重写了这个游戏,并使其在DEC PDP-7上运行起来。这次经历加上Multics项目的经验,促使Thompson开始了一个DEC PDP-7上的新操作系统项目。Thompson和Ritchie领导一组开发者,开发了一个新的多任务操作系统。这个系统包括命令解释器和一些实用程序,这个项目被称为UNICS(Uniplexed Information and Computing System),因为它可以支持同时的多用户操作。后来这个名字被改为UNIX。 发展期 最初的Unix是用汇编语言编写的,一些应用是由叫做B语言的解释型语言和汇编语言混合编写的。B语言在进行系统编程时不够强大,所以Thompson和Ritchie对其进行了改造,并与1971年共同发明了C语言。1973 年Thompson和Ritchie用C语言重写了Unix。在当时,为了实现最高效率,系统程序都是由汇编语言编写,所以Thompson和 Ritchie此举是极具大胆创新和革命意义的。用C语言编写的Unix代码简洁紧凑、易移植、易读、易修改,为此后Unix的发展奠定了坚实基础。 1974年,Thompson和Ritchie合作在ACM通信上发表了一篇关于UNIX的文章,这是UNIX第一次出现在贝尔实验室以外。此后UNIX被政府机关,研究机构,企业和大学注意到,并逐渐流行开来。 1975年,UNIX发布了4、5、6三个版本。1978年,已经有大约600台计算机在运行UNIX。1979年,版本7发布,这是最后一个广泛发布的研究型UNIX版本。20世纪80年代相继发布的8、9、10版本只授权给了少数大学。此后这个方向上的研究导致了Plan 9的出现,这是一个新的分布式操作系统。 1982年,AT&T基于版本7开发了UNIX System Ⅲ的第一个版本,这是一个商业版本仅供出售。为了解决混乱的UNIX版本情况,AT&T综合了其他大学和公司开发的各种UNIX,开发了UNIX System V Release 1。 这个新的UNIX商业发布版本不再包含源代码,所以加州大学Berkeley分校继续开发BSD UNIX,作为UNIX System III和V的替代选择。BSD对UNIX最重要的贡献之一是TCP/IP。BSD 有8个主要的发行版中包含了TCP/IP:4.1c、4.2、4.3、4.3-Tahoe、4.3-Reno、Net2、4.4以及 4.4-lite。这些发布版中的TCP/IP代码几乎是现在所有系统中TCP/IP实现的前辈,包括AT&T System V UNIX 和Microsoft Windows。 其他一些公司也开始为其自己的小型机或工作站提供商业版本的UNIX系统,有些选择System V作为基础版本,有些则选择了BSD。BSD的一名主要开发者,Bill Joy,在BSD基础上开发了SunOS,并最终创办了Sun Microsystems。 1991年,一群BSD开发者(Donn Seeley、Mike Karels、Bill Jolitz 和 Trent Hein)离开了加州大学,创办了Berkeley Software Design, Inc (BSDI)。BSDI是第一家在便宜常见的Intel平台上提供全功能商业BSD UNIX的厂商。后来Bill Jolitz 离开了BSDI,开始了386BSD的工作。386BSD被认为是FreeBSD、OpenBSD 和 NetBSD的先辈。 AT&T继续为UNIX System V增加了文件锁定,系统管理,作业控制,流和远程文件系统。1987到19**,AT&T决定将Xenix(微软开发的一个x86-pc上的UNIX版本),BSD,SunOS和System V融合为System V Release 4(SVR4)。这个新发布版将多种特性融为一体,结束了混乱的竞争局面。 1993年以后,大多数商业UNIX发行商都基于SVR4开发自己的UNIX变体了。 现况 UNIX System V Release 4发布后不久,AT&T就将其所有UNIX权利出售给了Novell。Novell期望以此来对抗微软的Windows NT,但其核心市场受到了严重伤害,最终Novell将SVR4的权利出售给了X/OPEN Consortium,后者是定义UNIX标准的产业团体。最后X/OPEN和OSF/1合并,创建了Open Group。Open Group定义的多个标准定义着什么是以及什么不是UNIX。 实际的UNIX代码则辗转到了Santa Cruz Operation,这家公司后来出售给了Caldera Systems。Caldera原来也出售Linux系统,交易完成后,新公司又被重命名为SCO Group。 1127部门的解散 根据一项报导指出,当年负责研发UNIX与后续维护工作的贝尔实验室1127部门已于2005年8月正式宣告解散。Ken Thompson已退休,现居加州;Dennis Ritchie调到别的部门;Douglas McIlroy在达特茅斯学院担任教授等等。
UNIX标准
从1980年代开始,POSIX,一个开放的操作系统标准就在制定中,IEEE制定的POSIX标准现在是UNIX系统的基础部分。
自由的类Unix系统
Richard Stallman建立了GNU项目,要创建一个能够自由发布的类UNIX系统。20年来,这个项目不断发展壮大,包含了越来越多的内容。现在,GNU项目开发的产品,比如Emacs,GCC等已经成为各种其他自由发布的类UNIX产品中的核心角色。
1990年,Linus Torvalds决定编写一个自己的Minix内核,初名为Linus' Minix,意为Linus的Minix内核,后来改名为Linux,此内核于1991年正式发布,并逐渐引起人们的注意。当GNU软件与Linux内核结合后,GNU软件构成了这个POSIX兼容操作系统GNU/Linux的基础。今天GNU/Linux已经成为发展最为活跃的自由/开放源码的类Unix操作系统。
1994年,BSD Unix走上了复兴的道路。BSD的开发也走向了几个不同的方向,并最终导致了FreeBSD、OpenBSD和NetBSD的出现。
20世纪60年代末期,在新泽西州的美国电报电话公司(AT&T),有一间阴暗潮湿的实验室,在这里,AT&T的贝尔实验室和麻省理工学院共同开发了一个庞大的单一操作系统,称为Multics.当时,贝尔实验室的团队成员有Ken Thompson,Dennis Ritchie,Brian Kernighan,以及对新Unix操作系统的开发作出重要贡献的计算机科学研究组(Computer Science Research Group)一些其他成员.
到了1969年,贝尔实验室开始对Multics逐渐失去兴趣,Multics系统非常慢,而且开销巨大,主要在General Electric大型机上运行,而这中大型机非常昂贵,并且很快就会过时.问题是,Tompson和小组成员非常喜欢Multics所提供的能力,尤其是独立用户的环境和多用户功能.
在那一年,Thompson编写了一个计算机游戏,叫做Space Travel,它首先在Multics上,然后又在GECOS(GE计算机操作系统)上运行.这个游戏模拟太阳系天体运动,由玩家驾驶飞船,观察景色,而且试图在各种行星和月亮上登陆.该游戏GE计算机上不是很有趣,因为性能不稳定,而且不规律,更重要的是,每个游戏几乎要花费100美元的机时费.
在Thompson改进游戏的过程中,他发现了一种很少使用的小型机PDF-7(Digital Equipment公司出品),在Ritchie的帮助下,Thompson为PDF-7重写了游戏.开发过程是在GE大型机上完成的,并通过纸带传给了PDF-7.
当Thompson研究了PDF-7的一些功能之后,他没有只停留在开发游戏上,而是开始实现他早期实际的一个文件系统,随后增加了进程,简单的文件程序(cp,mv)和被他称为shell的命令解释程序.直到第二年,新开发的系统才有了它自己的名称:Unix.这个名称是Multics的双关语,是由Brian Kernighan建议的.
最初的UNIX是用一种RMG的语言编写的,然后,Thompson试图编写一个FORTRAN编译程序,但没有成功,所以他转而设计了一种叫做B的语言.两年之后,也就是在1971年,Ritchie在B的基础上设计了一种新的编程语言的第一版,也就是C语言.到1973年,为了获得兼容性和速度,整个UNIX系统已经都用C语言重写了.
在20世纪70年代,AT&T还没有分为许多区域性的运营公司之前(就像现在一样),公司被禁止销售新的
UNIX操作系统.为了寻求最好的出路,贝尔实验室将UNIX提供给学院和大学,只收取很少的费用.这些研究机构也很愿意购买这种既便宜又强大的PFP-11计算机系统-它们是完美的匹配.不久以后,UNIX就成为人们所选择的研究和软件开发操作系统了.
UNIX和LINUX的区别和联系
Linux和UNIX的最大的区别是,前者是开放源代码的自由软件,而后者是对源代码实行知识产权保护的传统商业软件。这应该是他们最大的不同,这种不同体现在用户对前者有很高的自主权,而对后者却只能去被动的适应;这种不同还表现在前者的开发是处在一个完全开放的环境之中,而后者的开发完全是处在一个黑箱之中,只有相关的开发人员才能够接触到产品的原型。
另外两大区别:
1) UNIX作为商业操作系统与Linux相比其支持的硬件种类要多一些,但两者运行几乎一样稳定.
2) 两者都是多用户、多任务操作系统,也都可以作为网络操作系统使用.
自由的类Unix系统
Richard Stallman建立了GNU项目,要创建一个能够自由发布的类UNIX系统。20年来,这个项目不断发展壮大,包含了越来越多的内容。现在,GNU项目开发的产品,比如Emacs、GCC等已经成为各种其他自由发布的类UNIX产品中的内核角色。
1990年,Linus Torvalds决定编写一个自己的Minix内核,初名为Linus' Minix,意为Linus的Minix内核,后来改名为Linux,此内核于1991年正式发布,并逐渐引起人们的注意。当GNU软件与Linux内核结合后,GNU软件构成了这个POSIX兼容操作系统GNU/Linux的基础。今天GNU/Linux已经成为发展最为活跃的自由/开放源码的类Unix操作系统。
1994年,BSD Unix走上了复兴的道路。BSD的开发也走向了几个不同的方向,并最终导致了FreeBSD、OpenBSD和NetBSD的出现。
[1]
现存的Unix系统
在Unix版权官司以后,Novell接手了UNIX的源代码。公司采取了一种比较开明的方法对待源代码,即允许Berkeley发布自己的BSD,前提是将AT&T的代码删除。由此,出现了4.4 BSD Lite,这个版本便是现代BSD的基础。一段时间后此时UNIX Version6发布,之后,UNIX分化为BSD与UNIX Version 7。UNIX Version 7 进一步发展为System III,System V.2,System V.3。
Novell取得UNIX代码之后,期望以此来对抗微软的Windows NT,但其核心市场受到了严重伤害,最终Novell将SVR4的权利出售给了X/OPEN Consortium,后者是定义UNIX
标准的产业团体。最后X/OPEN和OSF/1合并,创建了Open Group。Open Group定义的多个标准定义着什么是以及什么不是UNIX。
实际的UNIX代码则辗转到了Santa Cruz Operation,这家公司后来出售给了Caldera Systems。Caldera原来也出售
Linux系统,交易完成后,新公司又被重命名为SCO Group。
有很多大公司在取得了Unix的授权之后,开发了自己的Unix产品,比如
IBM的AIX、HP的HP-UX、SUN的Solaris和SGI的IRIX。
目前的几个系统,如AIX,HP-UX,Solaris,IRIX,BSD等都是UNIX的分支,虽有自己的一些改动,但我们仍可以称之为Unix。
现在已经找不到叫做Unix的系统了,AT&T负责开发UNIX的1127部门已于2005年解散,具体有没有叫做UNIX的系统仍在投入使用,我们也不清楚。
Linux,Minix只能称作UNIX-Like系统,并不是UNIX。