萌發在1965年的一個靈感想法,使許多如今屬于Unix范疇的多種操作系統實例得以實現,Solaris就是其中的一個實例。可見Unix是一個復數概念。作為一個系統管理員,你應該了解Unix的歷史-它是從哪里來的,如何構建它,它現在又存在在哪里。
當理解了Unix具備不同的多種具體實現后你也許會認為Unix有時真象一個自己和自己作斗爭的操作系統。比如,Unix并不是由一家獨立的公司在一個大的市場里驅動用戶完成的東西,這和微軟的Windows操作系統的開發辦法是不同的。另外一方面Unix也不是由那些到處摸騙的黑客人員發明出來的,它產生于各種研究學院里的博學研究者的集體智慧。Unix最主要的貢獻者是接受過高級教育的數學家和計算機科學家,這些人大都來自被認為是最強的工業技術研究中心-Bell實驗室。
學院的研究者和實驗室的開發工作人員之間的思想交換和優勢互補,使得雙方在課題及項目研究上獲得各自的收益。理解了Unix和學院研究社團之間的關系也就能了解Unix系統發明者的背景和當時大學和Bell實驗室的交互關系的歷史。
[Unix所有的一切是如何開始的]
Unix一切源自于Bell實驗室,這個為AT&T(美國電話和電報)公司設立的研究型實驗室。AT&T被認為是我們這個時代最大和最有實力的公司之一。它顯然對開發和銷售計算機及軟件操作系統不感興趣,實際上美國司法部也不允許AT&T公司銷售軟件。然而,當時AT&T由人和紙張組成的公司信息系統很快就要被60年代的浪潮所淹沒。到70年代的時候電話業務的發展已經面臨風險。AT&T公司的Ken Thompson開始為自己部門室內的信息處理尋找解決的方法,需要一個多用戶操作的,能進行多個流程處理的方法,這種東西在當時來說沒有一家計算機公司可以提供。這種東西的目的其實就是建立一個能支持多位話務員在一個復雜的環境中進行同時作業的操作系統。 這個需要的東西就是Unix萌發的源頭。 接下來的介紹開發Unix類操作系統的循序漸進過程中發生的主要事件及對應時段。
[1965年到1969年]
1965年Bell實驗室加入了MIT(麻繩理工學院)和GE(通用電器公司)合作開發的一個項目,該項目要求在通用公司的GE 645大型計算機硬件上開發出一套多用戶交互操作系統軟件,名字定為Multics。然而由于Bell實驗室對系統開發中經常性的延遲和高成本消耗不滿,最后終于在1969年退出了Multics系統的開發項目。1969年Ken Thompson把Multics在Bell實驗室內進行了展示,這時候正好遇上了Dennis Ritchie,他提供了一臺DEC(數字設備公司)的PDP-7迷你計算機硬件,可以繼續用來開發能支持多用戶研究環境的操作系統。這兩個人建立了一個開發原型后,Ken Thompson返回了Bell實驗室并鼓勵在專利部門使用新開發的這款操作系統來進行文檔處理工作。為區別于Multics項目,新操作系統被命名為Unix。 開發Unix的各種努力在繼續,終于在1971年Unix得以在Bell實驗室變得實際可用。第一版本的Unix操作系統完全使用匯編語言在PDP-11/20硬件上開發完成。它包含了基本文件系統,以及fork,roff和ed三個工具,當時它的用途就是為Bell實驗室專利部門的文檔準備工作提供字處理工具。
[1970年到1972年]
70年代早期,Unix開始在Bell實驗室變得流行起來,作為新誕生的操作系統Unix也受到了大學機構的歡迎。與學院和高科技研究領域對Unix喜愛形勢不同,商業社區到處充斥著懷疑Unix的聲音。為提升Unix的流行度,AT&T公司開始將Unix源代碼以最小的價格許可給大學機構研究用,AT&T提供了關于Unix大量軟件代碼和說明手冊,但是沒有提供軟件使用的技術支持。70年代末,幾乎70%的大學機構獲得了Unix許可。許多計算機專業的畢業生在使用Unix,甚至對Unix代碼進行修改,使它更加健全。Unix是用匯編語言寫出來的主要運行在DEC公司的硬件設備平臺上,開始在PDP-7設備上,然后是PDP-11/40設備和11/45設備,最后到PDP-11/70設備,使用變得更加廣泛和流行。
[1973年到1979年]
這段時期是Unix開發最重要的時期。Ritchie和Thompson兩人在1969到1973年時間內開發出了C編程語言,并且把Unix的內核用C高級編程語言進行了重新編寫。Unix操作系統得以在不同硬件平臺上編譯運行。花幾個月時間,用C編寫的Unix就可以移植到新的硬件平臺上。在C語言的幫助下修改操作系統也變得容易起來。學術社區的會員已經開始在許多系統設計課程中使用Unix,利用通用C語言寫現代的命令,Unix也開始走出了字處理和編輯等局限性領域。此時Unix已經發展到了第六個版本,一個名叫Whitesmiths的商業公司基于第六版Unix發布了一個名叫Idris的商業Unix版本。1975年Thompson造訪Berkeley大學安裝在PDP-11/70設備上第六版Unix,此刻學校的兩位畢業生Bill Joy和Chuck Haley剛好與Berkeley的這版Unix打交道,他倆在Berkeley為Unix的發展扮演了重要的角色,他們在第六版Unix環境上的第一個項目是ex編輯器的開發。他倆對Unix的內部運行原理很感興趣,Joy把C語言增強殼以及vi編輯器等組合到了一起,形成了一個叫BSD(Berkeley軟件發行包)的套裝,1975第一次發布,這種模式在1978年進行了第二次發布,第二次發布的BSD中添加了虛擬內存的支持,允許程序可以在在物理內存大小不夠用的情況下,繼續模擬出虛擬內存來進行使用。這個特殊的想法對Bell實驗室發布第七版的Unix影響非常大,第七版Unix也是最后一版完全由Bell實驗室原創的Unix發行版。此后的Unix版本中的功能內容由多家商業公司和大學研究機構進行了或多或少的增添。70年代末美國國防部高級研究項目局決定將其通用計算環境構建在Berkeley版的Unix之上,在4。1版BSD的基礎上,國防部高級研究項目局為4.1BSD進行了重要的性能調優提升,提供的fast文件系統提升了系統性能阻止了文件碎片的生成,該文件系統被加進了4.2版的BSD軟件系統中。
[1982年到1983年]
1982年AT&T公司正式向商業領域發布了一款測試版Unix,名叫System III(System I和System II從來沒有存在過),雖然System III基于第七版Unix但它也加入了一些來自BSD的工具,但System III發布版中沒有包含vi編輯器和C殼,但內含了程序員workbench(工作性能度量工具),在發行System III的時候,AT&T看到了Unix的未來,很快就推出了System V版本的Unix(System IV沒有在AT&T公司外出現過),其中包含了編輯器,curses(基于屏幕的軟件庫),和init(初始化程序),這些東西用來在開始運行Unix時啟動各種過程。80年代初,Joy從berkeley大學取得了電氣工程碩士學位后畢業了,變成了SUN(斯坦福大學網絡)微系統公司的合伙創始人之一。Sun公司根據BSD實現的Unix操作系統名叫SunOS。這款Unix依靠對原BSD系統中的網絡工具進行擴展,這些擴展中就有著名的后來變為工業標準的NFS(網絡文件系統協議)。Sun還為早期的Unix窗口軟件開發做了一些工作,SunOS于1983年首次發布。利用Sun提供的工作站硬件產品,Unix開始在高技術領域,尤其是計算機輔助設計和工程領域(CAD/CAE)被廣泛地接受。80年代早期CAD/CAE變得流行起來,另外的PC工作站提供商象HP和Apollo等開始加入到該領域,但配備Unix的Sun工作站在性能和多用戶處理方面勝過了PC工作站。在其他的商業計算環境中,Unix始終被認為是一個需自我完善的操作系統,它沒有侵占大型機的市場,只是在多任務處理和網絡連接中發揮了顯著的特色。更重要的在于C語言的誕生使Unix可以向幾乎任何硬件平臺移植。
[1984年到2001年]
1984年AT&T發布了可以支持監視器連接到Unix的System V r2,該功能通過termcap的監視器數據庫文件實現,命名為terminfo的文件可以提供多種監視器硬件的支持。其他的還有Streams和遠程文件系統等。 Solaris是1993年由SunOS改名而來,開始轉向支持AT&T公司的System V release4版本。1993年Unix商標被Novell公司購得。1994年Solaris 2。4發布。 1995年Solaris 2。5發布,1997年Solaris 2。6生效,1998年Solaris 7發布,2000年Solaris 8發布,2001年Solaris 9測試版在3季度發布。從Solaris 8開始,Solaris除了能在Sun公司自己的SPARC系列處理器上運行外,還可以運行在Intel處理器平臺上。