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

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產品,比如國際商業機器股份有限公司AIX惠普公司HP-UX太陽電腦Solaris硅谷圖形公司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系统[编辑]

Richard Stallman建立了GNU项目,要创建一个能够自由发布的类UNIX系统。20年来,这个项目不断发展壮大,包含了越来越多的内容。现在,GNU项目开发的产品,比如EmacsGCC等已经成为各种其他自由发布的类UNIX产品中的核心角色。

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

1994年,BSD Unix走上了复兴的道路。BSD的开发也走向了几个不同的方向,并最终导致了FreeBSDOpenBSDNetBSDDragonFlyBSD的出现。

外部链接[编辑]