Unix的發展史
湯普遜和里奇最早是在貝爾實驗室開發Unix的,此后的10年,Unix在學術機構和大型企業中得到了廣泛的應用,當時的UNIX擁有者AT&T公司以低廉甚至免費的許可將Unix源碼授權給學術機構做研究或教學之用,許多機構在此源碼基礎上加以擴充和改進,形成了所謂的“Unix變種”,這些變種反過來也促進了Unix的發展,其中最著名的變種之一是由加州大學柏克萊分校開發的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又是所有自由版本Unix的基礎,它們和System V及Linux等共同構成Unix操作系統這片璀璨的星空。
BSD在發展中也逐漸派生出3個主要的分支:FreeBSD、OpenBSD和NetBSD。
此后的幾十年中,Unix仍在不斷變化,其版權所有者不斷變更,授權者的數量也在增加。Unix的版權曾經為AT&T所有,之后Novell擁有了Unix,再之后Novell又將版權出售給了SCO,但不包括知識產權和專利權(這一事實雙方尚存在爭議)。有很多大公司在取得了Unix的授權之后,開發了自己的Unix產品,比如IBM的AIX、HP的HP-UX、SUN的Solaris和SGI的IRIX。
Unix因為其安全可靠,高效強大的特點在服務器領域得到了廣泛的應用。直到GNU/Linux流行開始前,Unix也是科學計算、大型機、超級電腦等所用操作系統的主流。
UNIX的完整歷史
初創期
Unix的誕生和Multics(Multiplexed Information and Computing System)是有一定淵源的。Multics是由麻省理工學院,AT&T貝爾實驗室和通用電氣合作進行的操作系統項目,被設計運行在GE-645大型主機上,但是由于整個目標過于龐大,糅合了太多的特性,Multics雖然發布了一些產品,但是性能都很低,最終以失敗而告終。
AT&T最終撤出了投入Multics項目的資源,其中一位開發者──肯·湯普遜則繼續為GE-645開發軟件,并最終編寫了一個太空旅行游戲。經過實際運行后,他發現游戲速度很慢而且耗費昂貴——每次運行會花費75美元。
在丹尼斯·里奇的幫助下,湯普遜用PDP-7的匯編語言重寫了這個游戲,并使其在DEC PDP-7上運行起來。這次經歷加上Multics項目的經驗,促使湯普遜開始了一個DEC PDP-7上的新操作系統項目。湯普遜和里奇領導一組開發者,開發了一個新的多任務操作系統。這個系統包括命令解釋器和一些實用程序,Multics是“MULTiplexed Information and Computing System”的縮寫,在1970年時,那部PDP-7卻只能支持兩個用戶,當時,Brian Kernighan就開玩笑地戲稱他們的系統其實是:“UNiplexed Information and Computing System”,縮寫為“UNICS”。于是這個項目被稱為UnICS( Uniplexed Information and Computing System)。后來,大家取其諧音這個名字被改為UNIX。
發展期
最初的Unix是用匯編語言編寫的,一些應用是由叫做B語言的解釋型語言和匯編語言混合編寫的。B語言在進行系統編程時不夠強大,所以湯普遜和里奇對其進行了改造,并與1971年共同發明了C語言。1973年湯普遜和里奇用C語言重寫了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被認為是FreeBSD、OpenBSD和NetBSD、DragonFlyBSD的先輩。
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合并,創建了Open Group。Open Group定義的多個標準定義著什么是以及什么不是UNIX。
實際的UNIX代碼則輾轉到了Santa Cruz Operation,這家公司后來出售給了Caldera Systems。Caldera原來也出售Linux系統,交易完成后,新公司又被重命名為SCO Group。
1127部門的解散
根據一項報道指出,當年負責研發UNIX與后續維護工作的貝爾實驗室1127部門已于2005年8月正式聲明解散。肯·湯普遜已退休,現居加州;丹尼斯·里奇調到別的部門;而Douglas McIlroy則在達特茅斯學院擔任教授。
Unix的文化
UNIX is not just an operating system, but a way of life.(UNIX不僅僅是一個操作系統,更是一種生活方式。) 經過幾十年的發展,UNIX在技術上日臻成熟的過程中,她獨特的設計哲學和美學也深深地吸引了一大批技術人員,他們在維護、開發、使用UNIX的同時,UNIX也影響了他們的思考方式和看待世界的角度。這些人自然而然地形成了一個社團。
UNIX重要的設計原則:
簡潔至上
提供機制而非策略