萬盛學電腦網

 萬盛學電腦網 >> FreeBSD介紹 >> FreeBSD的發展歷史

FreeBSD的發展歷史

FreeBSD的起源最早可以追溯到貝爾實驗室的第一版UNIX。1969年,Ken Thompson,Dennis Ritchie和其他成員在一台PDP7計算機上完成了UNIX的早期版本。
Ritchie先前一直從事於MULTICS計劃,MULTICS對以後的新操作系統有很大的影響。甚至名稱UNIX也不過是MULTICS的雙關語。基本的文件系統組織,命令行接口,對每個命令使用分離的進程,最早的行編輯字符(#用於刪除最後一個字符,@用於刪除整個一行),和其他很多特性直接源自於 MULTICS。其他一些操作系統像MIT的CTSS和XDS-940系統也吸收了很多MULTICS的思想。後來UNIX又被移植到了PDP- 11/45和11/70上,添加了多道程序設計和其他很多新特性。
在UNIX開發完後,它在貝爾實驗室內部被廣泛使用,漸漸地又把它分發給了幾個大學。1976年發布了貝爾實驗室以外被廣泛使用的版本6。
1978年,版本7發布了。這個UNIX系統可以運行在PDP-11/70和Interdata 8/32上,實際上也是絕大多數現代UNIX系統的祖先。特別是,它又被移植到了其他PDP-11系列機和VAX計算機上。VAX上可用的版本叫做 32V。此後,研究工作仍然在繼續。
在1978年發布了版本7後,UNIX支持組(USG)在AT&T(貝爾實驗室的母公司)內部擔負起了UNIX發布的管理控制工作。
UNIX逐步地變成了一個產品,而不是先前的一個研究工具。UNIX的研究組為了支持他們自己內部的計算機,繼續開發著他們自己版本的UNIX。接著,就發布了版本8,它包含了一個叫做stream I/O system的工具,允許對內核IPC模塊進行靈活地配置。它也包含了RFS,與Sun的NFS很相似的一個遠程文件系統。
接著,又發布了版本9和版本10(是1989年發布的最後版本,只能用在貝爾實驗室內部)。
USG主要在貝爾實驗室內部提供UNIX的支持。來自USG的第一個外部發行版是1982年的System III。System III合成了版本7和32V的特性,在它裡面包含了一個實時UNIX系統UNIX/RT。1983年USG發布了System V,它主要源自於System III。
1984年,USG被改組為UNIX系統開發實驗室(USDL),它發布了UNIX System V Release 2 (V.2)。UNIX System V Release 2,Version 4 (V.2.4)添加了用於頁面調度和共享內存的虛擬內存的執行機制。USDL接著由AT&T信息系統所替換(ATTIS),它在1987年發布了 System V Release 3 (V.3)。V.3調整了stream I/O system的執行機制,使它可用作STREAMS。它也包含了RFS,一個類似NFS的遠程文件系統。
早期UNIX系統的模塊化和干淨的設計使得很多計算機科學組織都基於UNIX進行工作,像Rand,BBN,Illinois,Harvard,Purdue大學,甚至DEC公司。最有影響力的UNIX開發組是加州大學伯克萊(Berkeley)分校。
最早的Berkeley VAX UNIX版本是在1978年發布的,它加入了虛擬內存,自請求頁面調度和對32V的頁面替換特性。這個工作由Bill Joy和Ozalp Babaoglu完成,最終形成了3BSD UNIX。3BSD巨大的虛擬內存空間允許開發非常巨大的程序,如Berkeley自己的Franz LISP。優秀的內存管理工作使得國防部高級研究項目署(DARPA)確信應該資助Berkeley來開發一個政府使用的標准UNIX系統,這最終導致了 4BSD UNIX的出現。
4BSD從1979年發布最初版本以來一直是VAX機的操作系統,直到出現Ultrix,這是DEC的BSD執行版本。4BSD仍是很多研究機構和網絡裝置的最好選擇。許多組織會購買一個32V的許可,然後從Berkeley訂購4BSD。
針對DARPA的4BSD工作由一個策劃指導委員會領導,它包括了許多著名的UNIX和網絡社區中的任務。這個計劃的目標之一是為DARPA提供Internet網絡協議(TCP/IP)。
然而,當時的UNIX系統已經不僅僅限於貝爾實驗室(當時已經成為朗訊科技的實驗室)內部和Berkeley。Sun Microsystems也在他們的工作站上銷售BSD UNIX。由於UNIX的廣泛流行,它已經被移植到了許多不同的計算機系統上。而且創建了許多UNIX和UNIX類操作系統。DEC支持它自己的UNIX (叫做Ultrix),又用另一個源於UNIX的操作系統(OSF/1)替換了Ultrix。Microsoft改寫了Intel 8088系列上的UNIX,把它叫做XENIX,它的新的Windows NT操作系統也深受UNIX的影響。IBM在他的PC,工作站和主機上使用UNIX(AIX)。事實上,UNIX幾乎可以用在所有通用的計算機上。它可以運行在個人計算機,工作站,微型計算機,主機和超級計算機上,從Apple Macintosh II到Cray II。由於它的廣泛可用性,就被廣泛使用在從學校到軍事方面進行過程控制。絕大多數這些系統是基於版本7,System III,4.2BSD或SystemV。
由於計算機廠商的廣泛使用,使得UNIX成為最容易移植的操作系統,對用戶來講,它已經成為了一個獨立於任何特定計算機廠商的UNIX環境。但是,各個廠商之間出現了許多不同的程序變化和用戶接口。
對於獨立的廠商來說,應用程序開發人員需要一致的接口。這樣的接口使所有的UNIX應用程序可以運行在所有的UNIX系統上。這個問題變得非常重要,因為 UNIX已經成為應用程序開發的首選平台,被廣泛用在數據庫到圖形和網絡的開發上,導致了市場強烈要求出現一個UNIX的標准。
從那以後,出現了許多官方的標准:IEEE和ISO(POSIX標准)。X/Open組織國際協會完成了XPG3,一個普通的應用環境,這個包含了 IEEE的接口標准。不幸的是,XPG3是以ANSI C標准草案為基礎的,而不是最終規范,因此需要重新制定。在1993年出現了XPG4。在1989年,ANSI標准化組織頒布了標准化的C編程語言,產生了一個ANSI C規范。由於這些計劃的繼續,UNIX的不同特性將被統一,UNIX將產生一個統一的編程接口,使UNIX變得更加流行。事實上在這個問題上存在兩派: AT&T領導的UNIX國際(UI)和開放軟件基金會(OSF)都已經同意遵循POSIX標准。最近,許多廠商已經同意進行標准化,使用 Motif窗口環境,和ONC+(包括SUN RPC和NFS)與DCE網絡工具(包括AFS和RPC軟件包)。
在1989年,AT&T把它的ATTIS替換成UNIX軟件組織(USO),由它來發行第一個融合多種系統特性的UNIX,System V Release 4。這個系統包含了來自System V,4.3BSD和Sun SunOS的許多特性,它包含長文件名,Berkeley文件系統,虛擬內存管理,符號連接,多訪問組,工作控制,和可靠的信號。它也符合POSIX標准,POSIX.1。USO發布SVR4後,它變成為AT&T一個獨立部門的產品,這個部門被命名為UNIX系統實驗室(USL)。在1993 年,它又被Novell公司收購。
來自Berkeley的UNIX系統是由Berkeley Software Distributions(CSRG)發布的。如Berkeley VAX UNIX的後續版本3BSD和4BSD,以及一些特定的版本,特別是4.1BSD和4.2BSD。這些BSD版本主要用在PDP-11和VAX上。 4.2BSD,最早是在1983年發布的,最初的Berkeley DARPA UNIX計劃的最後一個版本。
在4BSD發展過程中,有一個非常重要的版本:4.2BSD,它可以在不同的網絡之間進行通信,包括本地網(如以太網和令牌環網),和廣域網(如 NSFNET)。這個功能也是當前這些協議流行的主要原因。它被許多UNIX計算機廠商和其他操作系統所使用。它使得Internet從1984年的60 個相連的網絡迅速發展到1993年的8000個網絡,將近1000萬的用戶。
另外,Berkeley也添加了很多特性以提高UNIX操作系統的設計和執行水平。TENEX (TOPS-20)的許多終端行編輯功能由一個新的終端驅動程序來提供。一個新的用戶接口(C Shell),一個新的文本編輯器(ex/vi),Pascal和LISP的編譯器,和許多新的系統程序都是由Berkeley開發的。對於 4.2BSD,一些功能的提供是從VMS操作系統得到了靈感。
1986年,4.3BSD發布了。它與4.2BSD非常相似。它包含了很多內部的修正,包括錯誤修復,性能提高。一些新的工具也被加入進來,包括對Xerox網絡系統協議的支持。
接著在1988年發布了下一版4.3BSD Tahoe。它包含了很多新的東西,如提供了網絡擁塞控制和TCP/IP性能。而且,磁盤配置也與設備驅動相分離,現在可以很快地讀取磁盤。擴展的時區支持也加入進來。4.3BSD Tahoe事實上是為CCI Tahoe系統(Computer Console,Inc.,Power 6 計算機)開發的,而不是通常的VAX機。相應的PDP-11版本是2.10.1BSD,它是由USENIX Association發布的,這個組織也出版了4.3BSD的手冊。但是,所有的BSD用戶必須先得到一份AT&T的源代碼許可證,這是因為 Berkeley從來沒有僅以二進制的方式發行過BSD系統,發行版本總是包含了系統每個部分完整的源代碼。隨著AT&T源代碼許可費用的增加,一些希望能夠使用BSD代碼為PC市場制造獨立的基於TCP/IP聯網產品的廠商們發現,按照每個二進制拷貝交費是行不通的。於是他們要求Berkley 將聯網的代碼和使用程序從BSD發行版中分離出來,並且簽發他們自己的許可證條款,而不需要AT&T的源代碼許可證。所以最初的BSD聯網代碼和支持性應用程序在1989年6月作為“Network Release 1”發布。
同時,開發工作仍在繼續。BSD系統又加入了源自於Mach系統的虛擬文件系統和與Sun兼容的網絡文件系統(NFS)。由於那時還沒有完整特性的 4.4BSD可以發布,所以發布了代號為4.3BSD Reno的過渡性版本。後來又發布了有重大改進的“Networking Release 2”。
Bill Jolitz在Networking Release 2基礎上對系統進行了修正和補充,最終發布了可以運行在386體系上的完整系統,它稱之為386/BSD。但由於Jolitz沒有更多的時間來處理大量的臭蟲和改進386/BSD,所以在發布了386/BSD版本發布幾個月內,一些386/BSD用戶成立了一個小組,發布叫做NetBSD的版本。在 NetBSD小組成立幾個月後,FreeBSD小組成立了。
為了給那些不容易訪問互聯網的用戶提供一個FreeBSD的發行渠道,FreeBSD小組開始跟Walnut Creek CDROM發行商進行聯系。Walnut Creek CDROM發行商不僅願意為他們發行FreeBSD光盤,而且還為他們提供開發這一計劃所需要的計算機和快速的互聯網接入。沒有Walnut Creek CDROM的支持,他們就沒有信心去開發這一計劃,也不可能有今天的FreeBSD。
第一張FreeBSD光盤是在1993年12月發布的,他們把它命名為FreeBSD1.0。這一版本是以伯克萊加州大學的4.3BSD-Lite (“Net/2”)為基礎的,它帶有386BSD上的許多組件還有自由軟
copyright © 萬盛學電腦網 all rights reserved