本页使用了标题或全文手工转换

UNIX

维基百科,自由的百科全书
(重定向自Unix
跳转至: 导航搜索
UNIX进化史
UNIX进化时间表

UNIX,一种计算机操作系统,具有多任务、多用户的特征。于1969年,在美国AT&T公司的贝尔实验室开发出来,参与开发的人有肯·汤普逊丹尼斯·里奇等。

目前它的商標權由國際開放標準組織所擁有,只有符合單一UNIX規範的UNIX系統才能使用UNIX這個名稱,否則只能稱為類UNIX(UNIX-like)。

簡介[编辑]

Unix的前身为Multics,贝尔实验室参与了这个操作系统的研发,但因为开发速度太慢,贝尔实验室决定放弃这个计划。贝尔实验室的工程师,汤普逊和里奇,在此时自行开发了Unix。

此後的10年,Unix在學術機構和大型企業中得到了廣泛的應用,當時的UNIX擁有者AT&T公司以低廉甚至免費的許可將Unix源碼授權給學術機構做研究或教學之用,許多機構在此源碼基礎上加以擴充和改進,形成了所謂的「Unix變種」,這些變種反過來也促進了Unix的發展,其中最著名的變種之一是由加州大學柏克萊分校開發的柏克萊軟件套件(BSD)產品。

后来AT&T意识到了Unix的商业价值,不再将Unix源码授权给学术机构,并对之前的Unix及其变种声明了版权权利。BSD在Unix的历史发展中具有相当大的影响力,被很多商业厂家采用,成为很多商用Unix的基础。其不断增大的影响力终于引起了AT&T的关注,于是开始了一场持久的版权官司,这场官司一直打到AT&T将自己的Unix系统实验室卖掉,新接手的Novell采取了一种比较开明的做法,允许柏克莱分校自由发布自己的Unix变种,但是前提是必须将来自于AT&T的代码完全删除,于是诞生了4.4 BSD Lite版,由于这个版本不存在法律问题,4.4 BSD Lite成为了现代柏克莱软件套件的基础版本。尽管后来,非商业版的Unix系统又经过了很多演变,但其中有不少最终都是建立在BSD版本上(LinuxMinix等系统除外)。所以从这个角度上,4.4 BSD 又是所有自由版本Unix的基础,它们和System V及Linux等共同构成Unix操作系统这片璀璨的星空。

BSD使用主版本加次版本的方法標識,如4.2、4.3BSD,在原始版本的基礎上還有派生版本,這些版本通常有自己的名字,如4.3BSD-Net/1,4.3BSD-Net/2等。BSD在發展中也逐漸衍生出3個主要的分支:FreeBSDOpenBSDNetBSD

此後的幾十年中,Unix仍在不斷變化,其版權所有者不斷變更,授權者的數量也在增加。Unix的版權曾經為AT&T所有,之後Novell擁有了Unix,再之後Novell又將版權出售給了聖克魯茲作業,但不包括知识产权和专利权(這一事實雙方尚存在爭議)。有很多大公司在取得了Unix的授權之後,開發了自己的Unix產品,比如IBM的AIX、HP的HP-UX、SCO的Openserver、SUN的Solaris(被Oracle收购)和SGI的IRIX

Unix因为其安全可靠,高效强大的特点在服务器领域得到了广泛的应用。直到GNU/Linux流行开始前,Unix也是科学计算、大型机、超级计算机等所用操作系统的主流。现在其仍然被应用于一些对稳定性要求极高的数据中心之上。

历史[编辑]

初创期[编辑]

Unix最初受到Multics计划的启发。Multics是由麻省理工学院,AT&T贝尔实验室通用电气合作进行的操作系统项目,被设计运行在GE-645大型主机上,但是由于整个目标过于庞大,糅合了太多的特性,Multics虽然发布了一些产品,但是性能都很低,AT&T最终撤出了投入Multics项目的资源,中止这项合作计划。

贝尔实验室最初参与Multics计划的部门为计算器技术研发部门(Computing Techniques Research Department),部门主管为道格拉斯·麦克罗伊,其下的工程师,原有丹尼斯·里奇布莱恩·柯林汉道格拉斯·麦克罗伊麦克·列斯克(Mike Lesk)与乔伊·欧桑纳(Joe Ossanna)等人,为了Multics计划,他们又召募了肯·汤普逊加入其中。肯·汤普逊进入Multics计划不久,计划就中止了,但因为机器仍然保留在贝尔实验室,他继续在GE-645上开发软件。肯·汤普逊在GE-645上,写出了一个仿真器,可以让一个文件系统与内存分页机制运作起来。他同时也写了一个程序语言Bon,编写了一个太空旅行游戏。经过实际运行后,他发现游戏速度很慢而且耗费昂贵,每次运行会花费75美元。在GE-645被搬走后,肯·汤普逊在实验室中寻找没人使用的机器,找到了几台PDP-7。丹尼斯·里奇的帮助下,汤普逊用PDP-7的汇编语言重写了这个游戏,并使其在DEC PDP-7上运行起来。这次经历加上Multics项目的经验,促使汤普逊开始在DEC PDP-7上研究如何开发操作系统。

1969年,肯·汤普逊提议在PDP-7上开发一个新的阶层式操作系统的计划。Multics的原有成员,加上Rudd Canady,都投入这个计划。肯·汤普逊发现要编写驱动程序来驱动文件系统,进行测试,并不容易,于是开发了一个壳层(shell)与一些驱动程序,做出一个操作系统的雏形。在团队合作下,Multics的许多功能都被采纳,重新实作,最终做出了一个分时多任务操作系统,成为第一版UNIX。因为Multics来自“MULTiplexed Information and Computing System”的缩写,在1970年,那部PDP-7却只能支持两个使用者,彼得·纽曼(Peter G. Neumann)戏称他们的系统其实是:“UNiplexed Information and Computing System”,缩写为“UNICS”。于是这个项目被称为UnICSUniplexed Information and Computing System)。

因為PDP-7的效能不佳,肯·湯普遜與丹尼斯·里奇決定把第一版UNIX移植到PDP-11/20的機器上,開發第二版UNIX。在效能提升後,真正可以提供多人同時使用,布萊恩·柯林漢提議將它的名稱改為UNIX

第一版UNIX是用PDP-7汇编语言编写的,一些应用是由叫做B语言解释型语言和汇编语言混合编写的。在进行系统编程时不够强大,所以湯普遜和里奇对其进行了改造,并于1971年共同发明了C语言。1973年湯普遜和里奇用C语言重写了Unix,形成第三版UNIX。在当时,为了实现最高效率,系统程序都是由汇编语言编写,所以湯普遜和里奇此举是极具大胆创新和革命意义的。用C语言编写的Unix代码简洁紧凑、易移植、易读、易修改,为此后Unix的发展奠定了坚实基础。

发展期[编辑]

1974年,湯普遜和里奇合作在ACM通信上发表了一篇关于UNIX的文章,这是UNIX第一次出现在贝尔实验室以外。此后UNIX被政府机关,研究机构,企业和大学注意到,并逐渐流行开来。

1975年,UNIX发布了4、5、6三个版本。1978年,已经有大约600台计算机在运行UNIX。1979年,版本7发布,这是最后一个广泛发布的研究型UNIX版本。20世纪80年代相继发布的8、9、10版本只授权给了少数大学。此后这个方向上的研究导致了九号计划的出现,这是一个新的分布式操作系统

1982年,AT&T基于版本7开发了UNIX System Ⅲ的第一个版本,这是一个商业版本仅供出售。为了解决混乱的UNIX版本情况,AT&T综合了其他大学和公司开发的各种UNIX,开发了UNIX System V Release 1

这个新的UNIX商业发布版本不再包含源代码,所以加州大学柏克萊分校继续开发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的一名主要开发者,比尔·乔伊,在BSD基础上开发了SunOS,并最终创办了昇陽公司

1991年,一群BSD开发者(Donn Seeley、Mike Karels、Bill Jolitz和Trent Hein)离开了加州大学,创办了Berkeley Software Design, Inc (BSDI)。BSDI是第一家在便宜常见的Intel平台上提供全功能商业BSD UNIX的厂商。后来Bill Jolitz离开了BSDI,开始了386BSD的工作。386BSD被认为是FreeBSDOpenBSDNetBSDDragonFlyBSD的先辈。

AT&T继续为UNIX System V增加了文件锁定,系统管理,作业控制,流和远程文件系统。1987到1989年,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合并,创建了國際開放標準組織。由它定义的多个标准定义着什么是以及什么不是UNIX。

实际的UNIX代码则辗转到了聖克魯茲作業,这家公司后来出售给了Caldera Systems。Caldera原来也出售Linux系统,交易完成后,新公司又被重命名为SCO Group

1127部門的解散[编辑]

根據一項 報導 指出,當年負責研發UNIX與後續維護工作的貝爾實驗室1127部門已於2005年8月正式宣告解散。肯·湯普遜已退休,現居加州;丹尼斯·里奇調到別的部門;而Douglas McIlroy則在達特茅斯學院擔任教授。

文化[编辑]

UNIX不仅仅是一个操作系统,更是一种生活方式。经过几十年的发展,UNIX在技术上日臻成熟的过程中,它独特的设计哲学和美学也深深地吸引了一大批技术人员,他们在维护、开发、使用UNIX的同时,UNIX也影响了他们的思考方式和看待世界的角度。

UNIX重要的设计原则:

  • 简洁至上(KISS原则
  • 提供机制而非策略

标准[编辑]

从1980年代开始,POSIX,一个开放的操作系统标准就在制定中,IEEE制定的POSIX标准(ISO/IEC 9945)现在是UNIX系统的基础部分。

自由的类Unix系统[编辑]

1984年,Richard Stallman发起了GNU项目,目标是创建一个完全自由且向下兼容UNIX的操作系统。这个项目不断发展壮大,包含了越来越多的内容。现在,GNU项目的产品,如EmacsGCC等已经成为各种其它自由发布的类UNIX系统中的核心角色。

1990年,Linus Torvalds決定編寫一個自己的Minix內核,初名為Linus' Minix,意為Linus的Minix內核,後來改名為Linux。此內核於1991年正式发布,并逐渐引起人们的注意。当时GNU操作系统仍未完成,GNU系统软件集与Linux内核结合后,GNU软件构成了这个POSIX兼容操作系统GNU/Linux的基础。今天GNU/Linux已经成为发展最为活跃的自由/开放源码的類Unix操作系统。

1994年,受到GNU工程的鼓舞,BSD走上了复兴的道路。BSD的开发也走向了几个不同的方向,并最终导致了FreeBSDNetBSDOpenBSDDragonFlyBSD等基于BSD的操作系统的出现。

参考文献[编辑]

外部链接[编辑]