Unix操作系统的衍生和类Unix操作系统

来源:互联网 发布:怎么租用阿里云服务器 编辑:程序博客网 时间:2024/06/05 12:42

       Unix的诞生和Multics(Multiplexed Information and Computing System)是有一定渊源的。Multics是由麻省理工学院,AT&T贝尔实验室和通用电气合作进行的操作系统项目,被设计运行在GE-645大型主机上,但是由于整个目标过于庞大,糅合了太多的特性,Multics虽然发布了一些产品,但是性能都很低,最终以失败而告终。
       1969年,AT&T的汤普逊和里奇领导一组开发者,开发了一个新的多任务操作系统。这个系统包括命令解释器和一些实用程序,当时,Brian Kernighan就开玩笑地戏称他们的系统其实是:“UNiplexed Information and Computing System”,缩写为“UNICS”。于是这个项目被称为UnICS(Uniplexed Information and Computing System)。1971年运行于PDP-11上的操作系统便是Unix操作系统(大家取UnICS的谐音UNIX起名)——具有多用户、多任务支持多个处理器。
       最初的Unix是用汇编语言编写的,一些应用是由叫做B语言(肯·汤普森在丹尼斯·利奇的支持下设计出来的)的解释型语言和汇编语言混合编写的。B语言在进行系统编程时不够强大,所以汤普逊和里奇对其进行了改造,并与1971年共同发明了C语言(主要是有里奇在B的基础上开发出来)。1973年汤普逊和里奇用C语言重写了Unix。在当时,为了实现最高效率,系统程序都是由汇编语言编写,所以汤普逊和里奇此举是极具大胆创新和革命意义的。用C语言编写的Unix代码简洁紧凑、易移植、易读、易修改,为此后Unix的发展奠定了坚实基础。1974年-1979年对外发布了版本4、5、6、7研究型Unix版(主要是低价或者免费的方式开源代码给学术或教育机构使用研发)。
       在此同时伯克利加州大学(以下简称伯克利)也开始开发类Unix(Unix的衍生)——BSD操作系统(1974年-1981年发布了1BSD、2BSD、3BSD和4BSD,其中每个版本又都有各自的更新版本,如2.11BSD于1992年公布,其中主要开发者是Bill Joy)。1981年伯克利发布了4.1BSD。1982年,AT&T基于版本7开发了UNIX System Ⅲ的第一个版本,这是一个商业版本仅供出售。为了解决混乱的UNIX版本情况,AT&T综合了其他大学和公司开发的各种UNIX,开发了UNIX System V Release 1。同年,Bill Joy离开伯克利前去创建Sun公司。直到1983年4.2BSD才正式发布。从1986-1988年6月,又发布了4.3BSD和4.3BSD-Tahoe版。这时,很多类Unix系统都在不断的开发中,BSD只是其中最突出的一例。
       在1987到1989年,AT&T决定将Xenix(微软开发的一个x86-pc上的UNIX版本),BSD,SunOS和System V融合为System V Release 4(SVR4)。这个新发布版将多种特性融为一体,结束了混乱的竞争局面。1993年以后,大多数商业UNIX发行商都基于SVR4开发自己的UNIX变体了。
       以上所有的BSD版本混合了专属的AT&T UNIX代码。这样继续使用就需要从AT&T获得许可证。源码许可证当时非常地昂贵,几个其他组织对单独的网络代码版感兴趣,完全独立于AT&T,这样就可不受许可证的支配。1989年6月,Networking Release 1(Net/1)诞生了,没有AT&T授权也能使用,可遵照BSD许可证进行自由再发布。1990年初,伯克利推出了4.3BSD-Reno。该版本是4.4BSD早期开发的过渡版(因为不受许可证支配)。1991年,一群BSD开发者(Donn Seeley、Mike Karels、Bill Jolitz和Trent Hein)离开了加州大学,创办了Berkeley Software Design, Inc (BSDI)。BSDI是第一家在便宜常见的Intel平台上提供全功能商业BSD UNIX的厂商。1991年6月,Net/2诞生了,这是一个全新的操作系统,并且可以自由发布。包括包括由William Jolitz负责的自由的386BSD(短命但成为NetBSD和FreeBSD原始代码的基础);以及专属的BSD/OS——由Berkeley Software Design(BSDi)负责。
       接下来不幸的发生了,BSDI很快就与AT&T的UNIX Systems Laboratories(USL)附属公司产生了法律纠纷,后者将拥有System V版权,以及UNIX商标。1992年,USL正式对BSDi提起诉讼,这导致Net/2发布被中止,直到其源码能够被鉴定为符合USL的版权。这场官司也延迟了BSD的继续发布,这期间,Linux内核(宏内核或单内核)计划产生了,其是为了提供自由免费的类Unix操作系统而开发,它是基于Minix系统(小型类Unix系统,也是类Unix的一个重要分支,微内核结构),1991年发布,几乎和386BSD同步启动,Linux内核的创始人芬兰黑客林纳斯·托瓦兹说:当时如果有基于386的自由Unix-like操作系统,他就可能不会创造Linux。然而Linux的出现更加丰富了这块广阔的田地。这场官司大概1994年1月了结,允许伯克利继续开发BSD(但要做个别的文件修改)。1994年6月,4.4BSD和4.4BSD-Lite两个版本发布,不包含AT&T 源码;另有4.4BSD-Encumbered版本,跟以前的版本一样,遵照AT&T的许可证。伯克利的最终版本是1995年的4.4BSD-Lite Release 2,而后CSRG解散,在伯克利的BSD开发告一段落。在这之后,几种基于4.4BSD的套件(比如FreeBSD、OpenBSD和NetBSD)得以继续维护。BSD最杰出的贡献之一就是开发了TCP/IP(主要是4.1BSD以后的版本中)。由于BSD许可证的宽容,许多其他的操作系统,不管是自由还是专属,都采用了BSD的代码。例如,Microsoft Windows在TCP/IP的实现上引入了BSD代码;经过重新编译,在当前Windows版本中,还采用了许多BSD命令行下的网络工具。1994年后BSD家族走向复兴的道路,在BSD的系统中又衍生了许多类Unix系统,统称为BSD家族。如:
       1、FreeBSD在BSD家族中以易用性与高性能而著称,由于主要用作微处理器架构,如i386、AMD's 64-bit i386扩展(AMD64),所以FreeBSD非常关注众多处理器。FreeBSD在x86和AMD64服务器上,运行得非常好,当然,它也可以在其他硬件构架上运行。
       2、NetBSD拥有出色的可移植性,能在多达54种平台上运行,小到嵌入式的掌上设备,大到服务器群,NetBSD甚至还在国际空间站中服务。
       3、OpenBSD在密码学和安全方面特别出众,可移植性也很好,但是略逊于NetBSD。安全功能如OpenSSH,是由OpenBSD率先开创的。以OpenBSD作为严格与高度安全的机器运行,普遍的受到好评。
       4、DragonflyBSD是一个由FreeBSD 4-STABLE分支出来的项目,重点在于轻量级而高效能的线程、多处理支持以及其它用户工具、第三方软件管理系统的改进。它同时是最年轻的BSD。提供比FreeBSD更优秀的对称多处理机系统,并使内核直接支持SSI集群,以取得更好的计算效果。这个项目在此方向上,才开始数年,主要关注x86平台。
       5、Darwin是苹果公司的项目、Mac OS X的基础,很大程度上使用FreeBSD的代码和工具
       6、FreeSBIE项目提供FreeBSD各个发行版本的live CD,类似于基于Linux的Knoppix项目
       7、Frenzy是另一个基于FreeBSD的live CD项目,主要针对俄语用户。启动中按“e”才是英文版界面
       8、BSDeviant是一个FreeBSD的live CD项目,目的在于产生可以存在一张迷你CD-R上的系统
       9、PicoBSD为了在单张1.44MB磁片执行而设计的FreeBSD精简版本
       10、m0n0wall是一个基于FreeBSD的防火墙项目
       11、FreeNAS是一个基于FreeBSD的NAS轻量级服务器
       12、PC-BSD为桌面/个人环境设计的BSD分支
       13、relaxBSD为桌面/个人环境设计的BSD分支,由华人开发,注重中文环境
       14、RedBSD嵌入式的影像,使用BSD和Ruby内核
BSD类Unix操作系统和AT&T Unix一样,都采用单内核。这意味着内核中的设备驱动,在核心态下运行,从而作为操作系统的核心部分。BSD的早期版本被用作组建Sun公司的SunOS,造就了Unix 工作站的第一波热潮。
       UNIX System V Release 4发布后不久,大概就是诉讼BSD结束的时候,AT&T就将其所有UNIX权利出售给了Novell。Novell期望以此来对抗微软的Windows NT,但其核心市场受到了严重伤害,最终Novell将SVR4的权利出售给了X/OPEN Consortium,后者是定义UNIX标准的产业团体。最后X/OPEN和OSF/1合并,创建了国际开放标准组织(Open Group)。由它定义的多个标准定义着什么是以及什么不是UNIX。
       以上Unix的初衷版本(除了System V商业版)、BSD类Unix系统、BSD家族和Minix和Linux内核都是自由的类Unix系统。另外,GNU计划(由理查德·斯托曼在< xmlnamespace prefix ="st1" ns ="urn:schemas-microsoft-com:office:smarttags" />1983年9月27日公开发起的)也给自由发布的类Unix操作系统添砖加瓦,GNU计划采用了部分当时已经可自由使用的软件,例如TeX排版系统和X Window视窗系统等。不过GNU计划也开发了大批其他的自由软件,这些软件也被移植到其他操作系统平台上,例如Microsoft Windows、BSD家族、Solaris、Linux及MacOS等。移植的软件如Emacs、GCC
       Mach是作为传统UNIX内核的替代品出现的,至今似乎是退出,但是也为操作系统的完善做出了贡献,同时也是很多新的操作系统的设计基础。POSIX是开放操作系统标准,1980年开始指定。Linux操作系统是基于Linux内核和移植的GNU软件。XNU是Darwin内核。现在的很多主流操作系统都是基于类Unix操作系统开发,一般都属于混合内核。Mac OS是首个商业领域图形用户界面系统。

原创粉丝点击