百科解釋
目錄·歷史·技術(shù)·BSD 家族·結(jié)構(gòu)·謠言·BSD的子孫們·注腳·參見·外部鏈接·延伸閱讀 BSD(Berkeley Software Distribution,伯克利軟件套件)是Unix的衍生系統(tǒng),1970年代由伯克利加州大學(xué)(University of California, Berkeley)開創(chuàng)。BSD用來代表由此派生出的各種套件集合。 BSD 常被當(dāng)作工作站級別的 Unix 系統(tǒng),這得歸功于 BSD 使用授權(quán)非常地寬松,許多1980年代成立的計算機(jī)公司,不少都從BSD 中獲益,比較著名的例子如 DEC 的 Ultrix,以及 Sun 公司的 SunOS。1990年代,BSD 很大程度上被System V 4.x版以及 OSF/1 系統(tǒng)所取代,但其開源版本被采用,促進(jìn)了因特網(wǎng)的開發(fā)。 Unix家譜 歷史 PDP-11開始 最初的 Unix 套件源自1970年代的貝爾實驗室,操作系統(tǒng)中包含源碼,這樣研究人員以及大學(xué)都可以參與修改擴(kuò)充。1974年,第一個伯克利[1]的 Unix 系統(tǒng)被安裝在 PDP-11 機(jī)器上,計算機(jī)科學(xué)系而后將其用作擴(kuò)展研究。 其他大學(xué)開始對伯克利的軟件感興趣,在1977年,伯克利的研究生 Bill Joy 將程序整理到磁帶上,作為 first Berkeley Software Distribution(1BSD)發(fā)行。1BSD 被作為第六版 Unix 系列,而不是單獨(dú)的操作系統(tǒng)。主要程序包括Pascal編譯器,以及Joy的 ex行編輯器。 Second Berkeley Software Distribution(2BSD)于1978年發(fā)布,除了對 1BSD 中的軟件進(jìn)行升級,還包括了 Joy 寫的兩個新程序:vi 文本編輯器(ex 的可視版本),以及 C Shell。這兩個新添的程序,在 Unix 系統(tǒng)中至今仍被使用。 2BSD 以后的版本逐漸從 PDP-11 結(jié)構(gòu)向 VAX 計算機(jī)移植。最新的 2.11BSD 于1992年發(fā)布,更新維護(hù)一直持續(xù)到2003年。 VAX 版本 1978年,伯克利安裝了第一臺 VAX 計算機(jī),但將 Unix 移植到 VAX 構(gòu)架的 UNIX/32V,并沒有利用 VAX 虛擬內(nèi)存的能力。伯克利的學(xué)生重寫了 32V 的大部分內(nèi)核,以實現(xiàn)虛擬內(nèi)存的支持。1979年,3BSD誕生了,這個新系統(tǒng)完整包括了一個新內(nèi)核、從 2BSD 移植到 VAX 的工具,還有 32V 原來的工具。 3BSD 的成功使得 Defense Advanced Research Projects Agency(DARPA,美國國防部高級研究規(guī)劃署)決定資助伯克利的Computer Systems Research Group (CSRG,計算機(jī)系統(tǒng)研究組),以開發(fā)一個 Unix 標(biāo)準(zhǔn)平臺,以供 DARPA 未來的研究。1980年10月,CSRG 發(fā)布了 4BSD,該版本對 3BSD 有許多改進(jìn)。 相較于 VAX 機(jī)器的主流系統(tǒng) VMS,用戶對 BSD 時有批評,1981年6月,終于發(fā)布了 4.1BSD 。Bill Joy 大幅度提高了 4.1BSD 內(nèi)核的性能,可以跟 VMS 在多個平臺上媲美。為了避免與 AT&T 的 UNIX System V(UNIX第五版)混淆,這個版本沒有取名為 5BSD。 以后 4.2BSD 歷經(jīng)兩年,實現(xiàn)了多項重大改進(jìn)后才得以問世。之前有三個中間版本相繼推出:4.1a 引入了修改版的 BBN 預(yù)試中 TCP/IP;4.1b 引入了由Marshall Kirk McKusick 實現(xiàn)的新型 Berkeley Fast File System(FFS);4.1c 是 4.2BSD 開發(fā)最后幾個月的過渡版。 1983年8月,4.2BSD 正式發(fā)布。這是 1982年 Bill Joy 離開前去創(chuàng)建 Sun 公司后的第一個版本,此后 Mike Karels 和Marshall Kirk McKusick 一直負(fù)責(zé)領(lǐng)導(dǎo)該項目。值得一提的是,這次 BSD小惡魔正式出場,最初是 Marshall Kirk McKusick 的畫作,出現(xiàn)在打印好的文檔封面上,由 USENIX 發(fā)行。 BSD版本 1986年6月,4.3BSD 發(fā)布。該版本主要是將 4.2BSD 的許多新貢獻(xiàn)作性能上的提高,原來的 4.1BSD 沒有很好地協(xié)調(diào)。在該版本之前,BSD 的 TCP/IP 實現(xiàn)已經(jīng)跟 BBN 的官方實現(xiàn)有較大差異。經(jīng)過數(shù)月測試后,DARPA 認(rèn)為 4.2BSD 更合適,所以在 4.3BSD 中作了保留。(參見en:History of the Internet) 4.3BSD后,BSD 逐漸拋開老式的 VAX 平臺。Computer Consoles有限公司開發(fā)的 Power 6/32 平臺(代號為"Tahoe"),當(dāng)時看來大有可為,但不久即被他們的開發(fā)員所遺棄。然后,1988年6月移植的 4.3BSD-Tahoe 卻表現(xiàn)不俗,BSD將依賴于機(jī)器跟不依賴于機(jī)器的代碼分離,為未來系統(tǒng)的可移植性打下了良好的基礎(chǔ)。 到此為止,所有的 BSD 版本混合了專屬的 AT&T UNIX 代碼,這樣繼續(xù)使用就需要從 AT&T 獲得許可證。源碼許可證當(dāng)時非常地昂貴,幾個其他組織對單獨(dú)的網(wǎng)絡(luò)代碼版感興趣,完全獨(dú)立于 AT&T,這樣就可不受許可證的支配。1989年6月,Networking Release 1(Net/1)誕生了,沒有 AT&T 授權(quán)也能使用,可遵照 BSD許可證進(jìn)行自由再發(fā)布。 1990年初,推出了 4.3BSD-Reno。該版本是 4.4BSD 早期開發(fā)的過渡版,使用該版本被戲稱為是一種賭博,因為 Reno 就是內(nèi)華達(dá)州的賭城雷諾。 Net/2以及法律問題 Net/1 以后,Keith Bostic 提議,BSD 系統(tǒng)中應(yīng)該有更多的非 AT&T 部分,以 Net/1 的協(xié)議發(fā)布。隨后,他開始一個項目,著手重新實現(xiàn)一些 Unix標(biāo)準(zhǔn)工具,其中不使用原來的 AT&T 代碼。例如,Vi,也就是基于最初 UNIX 上 ed 的編輯器,被重寫為 nvi(new vi)。18個月后,所有 AT&T 的工具被替換,剩下的只是存留在內(nèi)核的一些 AT&T 文件。殘余文件被剔除后,1991年6月,Net/2 誕生了,這是一個全新的操作系統(tǒng),并且可以自由發(fā)布。 Net/2 成為 Intel 80386 構(gòu)架上兩種移植的主要組成,包括由 William Jolitz 負(fù)責(zé),自由的 386BSD;以及專屬的BSD/OS,由Berkeley Software Design(BSDi)負(fù)責(zé)。386BSD 本身雖然短命,但不久即成為 NetBSD 和 FreeBSD 原始代碼的基礎(chǔ)。 BSDi 很快就與 AT&T 的 UNIX Systems Laboratories(USL)附屬公司產(chǎn)生了法律糾紛,后者將擁有System V版權(quán),以及UNIX商標(biāo)。1992年,USL 正式對 BSDi 提起訴訟,這導(dǎo)致 Net/2 發(fā)布被中止,直到其源碼能夠被鑒定為符合 USL 的版權(quán)。 由于最后判決懸而未決,這樁法律訴訟將 BSD 后裔的開發(fā),特別是自由軟件,延遲了兩年,這導(dǎo)致沒有法律問題的 Linux 內(nèi)核獲得了極大的支持。Linux 跟 386BSD 的開發(fā)幾乎同時起步,林納斯·托瓦茲曾說,當(dāng)時如果有自由的Unix-like操作系統(tǒng),基于 386 的,他就可能不會創(chuàng)造 Linux。盡管無法預(yù)料這給以后的軟件業(yè)究竟造成了什么樣的影響,但有一點(diǎn)可以肯定,Linux 更加豐富了這塊土壤。 4.4BSD及其后裔 這樁訴訟在1994年1月了結(jié),更多地滿足了伯克利的利益。伯克利套件的18,000個文件中,只有3個文件要求刪除,另有70個文件要求修改,并顯示USL的版權(quán)說明。這項調(diào)解另外要求,USL 不得對下面的 4.4BSD 提起訴訟,不管是用戶還是伯克利代碼的分發(fā)者。 1994年6月,4.4BSD 以兩種形式發(fā)布:可自由再發(fā)布的 4.4BSD-Lite,不包含 AT&T 源碼;另有4.4BSD-Encumbered,跟以前的版本一樣,遵照 AT&T 的許可證。 伯克利的最終版本是1995年的 4.4BSD-Lite Release 2,而后 CSRG 解散,在伯克利的 BSD 開發(fā)告一段落。在這之后,幾種基于 4.4BSD 的套件(比如 FreeBSD、OpenBSD 和 NetBSD)得以繼續(xù)維護(hù)。 另外,由于 BSD許可證的寬容,許多其他的操作系統(tǒng),不管是自由還是專屬,都采用了 BSD 的代碼。例如,Microsoft Windows在 TCP/IP 的實現(xiàn)上引入了 BSD 代碼;經(jīng)過重新編譯,在當(dāng)前 Windows 版本中,還采用了許多BSD命令行下的網(wǎng)絡(luò)工具。 技術(shù) BSD 開創(chuàng)了現(xiàn)代計算機(jī)的潮流。伯克利的 Unix 率先包含了庫,以支持互聯(lián)網(wǎng)協(xié)議棧(Stack)、伯克利套接字(sockets)。通過將套接字與Unix操作系統(tǒng)的文件描述符相整合,庫用戶通過計算機(jī)網(wǎng)絡(luò)讀寫數(shù)據(jù),跟直接在磁盤上操作一樣容易。AT&T 實驗室最后也發(fā)布了他們的 STREAMS 庫,在軟件棧中引入了類似的功能,雖然結(jié)構(gòu)層有所改進(jìn),但由于套接字庫已經(jīng)使用廣泛,另外由于少了對開放套接字的輪詢功能(類似于伯克利庫中的<tt>select</tt>調(diào)用),使得將軟件移植到這個新的API很困難。 時至今日,BSD 仍在學(xué)術(shù)機(jī)構(gòu),乃至許多商業(yè)或自由產(chǎn)品的高科技實驗中,繼續(xù)被用作試驗平臺,甚至在嵌入式設(shè)備中,其使用也在增長。由于 BSD 設(shè)計出眾,代碼編寫清晰,包括它的文檔(特別是參考文檔,常被稱為“man pages”),使得這樣的系統(tǒng),幾乎成了程序員眼中的樂土。 許多公司都使用 BSD 衍生出的代碼,如此便可以支持他們的知識產(chǎn)權(quán),許多自由軟件,如 Linux、GNU 工程都遵照 GNU General Public License,與之相比,BSD 執(zhí)照要更加靈活。當(dāng)然,這也導(dǎo)致人們的機(jī)器上在跑一些 BSD 軟件,但自己卻并不知情。有興趣的話,可以試著找找符號 “University of California, Berkeley”,比如在產(chǎn)品文檔內(nèi),二進(jìn)制代碼中的靜態(tài)數(shù)據(jù)段,或者 ROM中,還有通過一些產(chǎn)品的用戶界面看看 “about”(關(guān)于)內(nèi)容。 有意思的是,通過一個二進(jìn)制兼容層(compatibility layer),在 BSD 操作系統(tǒng)上,可以運(yùn)行相同構(gòu)架下其他操作系統(tǒng)上的原程序。這比模擬器要快得多,通過這個方法,針對 Linux 的應(yīng)用程序,也可以在 BSD 上全速運(yùn)行。所以,BSD 不僅適合作為服務(wù)器,也可作為工作站來使用,眾所周知,現(xiàn)在針對 Linux 的商業(yè)或封閉源碼軟件越來越多了。管理員也可以將一些原本只用于商業(yè)UNIX 變種的專屬軟件,轉(zhuǎn)移到 BSD,這樣在保持原有功能的同時,操作系統(tǒng)更趨現(xiàn)代,可繼續(xù)使用這些軟件,直到有更好的替代。 結(jié)末,當(dāng)前的 BSD 操作系統(tǒng) 變種支持各種通用標(biāo)準(zhǔn),包括 IEEE、ANSI、ISO 以及 POSIX,同時保持了傳統(tǒng) BSD 的良好風(fēng)范。 BSD 家族 不同的 BSD 操作系統(tǒng)針對不同的用途及用戶,可應(yīng)用于多種硬件構(gòu)架。在政府機(jī)構(gòu)中常能看到 BSD 的身影。雖然下面的 BSD 功能可能并非獨(dú)有,但每種 BSD 在各自的領(lǐng)域,都逐漸具有了良好聲譽(yù),有的專注于性能,有的則以安全見長。 FreeBSD在 BSD 家族中以易用性與高性能而著稱,由于主要用作微處理器架構(gòu),如i386、AMD&#39;&#39;s 64-bit i386 擴(kuò)展(AMD64),所以 FreeBSD 非常關(guān)注眾多處理器。FreeBSD在 x86 和 AMD64 服務(wù)器上,運(yùn)行得非常好,當(dāng)然,它也可以在其他硬件構(gòu)架上運(yùn)行。 NetBSD 擁有出色的可移植性,能在多達(dá)54種平臺上運(yùn)行,小到嵌入式的掌上設(shè)備,大到服務(wù)器群,NetBSD 甚至還在國際空間站中服務(wù)。 OpenBSD 在密碼學(xué)和安全方面特別出眾,可移植性也很好,但是略遜于 NetBSD。安全功能如 OpenSSH,是由 OpenBSD 率先開創(chuàng)的。以 OpenBSD 作為嚴(yán)格與高度安全的機(jī)器運(yùn)行,普遍的受到好評。 DragonflyBSD 是一個由 FreeBSD 4-STABLE 分支出來的項目,重點(diǎn)在于輕量級而高效能的線程、多處理支持以及其它用戶工具、第三方軟件管理系統(tǒng)的改進(jìn)。它同時是最年輕的 BSD 。提供比 FreeBSD 更優(yōu)秀的對稱多處理機(jī)系統(tǒng),并使內(nèi)核直接支持SSI集群,以取得更好的計算效果。這個項目在此方向上,才開始數(shù)年,主要關(guān)注 x86 平臺。 Darwin是蘋果公司的項目、Mac OS X的基礎(chǔ),很大程度上使用 FreeBSD 的代碼和工具 FreeSBIE 項目提供 FreeBSD各個發(fā)行版本的 live CD,類似于基于Linux的Knoppix項目 Frenzy 是另一個基于 FreeBSD 的 live CD 項目,主要針對俄語用戶。啟動中按“e”才是英文版界面 BSDeviant 是一個 FreeBSD 的 live CD 項目,目的在于產(chǎn)生可以存在一張迷你CD-R上的系統(tǒng) PicoBSD 為了在單張 1.44MB磁片 執(zhí)行而設(shè)計的 FreeBSD 精簡版本 m0n0wall 是一個基于 FreeBSD 的防火墻項目 FreeNAS 是一個基于 FreeBSD 的 NAS 輕量級服務(wù)器 PC-BSD 為桌面/個人環(huán)境設(shè)計的 BSD 分支 relaxBSD 為桌面/個人環(huán)境設(shè)計的 BSD分支, 由華人開發(fā), 注重中文環(huán)境 必須注意的是,上面所羅列的,更多地是基于感性認(rèn)識,并針對其開發(fā)焦點(diǎn),并沒有嚴(yán)格地比較規(guī)則。實際而言,每種具體的 BSD 都可擔(dān)當(dāng)許多角色任務(wù)。 結(jié)構(gòu) 跟 AT&T Unix 一樣,BSD 也采用單內(nèi)核,這意味著內(nèi)核中的設(shè)備驅(qū)動,在核心態(tài)下運(yùn)行,從而作為操作系統(tǒng)的核心部分。BSD 的早期版本被用作組建 Sun公司的SunOS,造就了 Unix 工作站的第一波熱潮。 謠言 BSD 受到網(wǎng)絡(luò)一些使用者的負(fù)面評價,其中最著名的是聲稱 BSD 正在死亡:有人甚至斷言,BSD 將自己把自己壓垮。某些人將FreeBSD 主要開發(fā)員的離去,當(dāng)作其佐證。內(nèi)容與事實似乎相違。 BSD的子孫們 當(dāng)前衍生自BSD的Unix類操作系統(tǒng): BSD/OS (已倒閉) FreeBSD DragonFly BSD FireFlyBSD Freesbie (live CD版,光盤自啟動版) DesktopBSD (采用Userland/Kernel,與FreeBSD同步) PC-BSD (采用Userland/Kernel,與FreeBSD同步) PicoBSD TrustedBSD - (非操作系統(tǒng),而是為FreeBSD和Darwin構(gòu)件擴(kuò)展的一個項目) ClosedBSD pfSense m0n0wall FreeNAS NetBSD OpenBSD ekkoBSD (已倒閉) MicroBSD MirOS BSD NeXTSTEP OpenStep (已被Mac OS X和Mac OS X Server取代) Darwin (Mac OS X的核心, 由FreeBSD 4.5和NeXTSTEP混合派生) Mac OS X HPBSD (已倒閉) 注腳 <cite id="endnote_Berkeley" style="font-style: normal;">^</cite>&#160;沒有特別說明的話,伯克利,均指伯克利加州大學(xué)。 參見 Bill Joy Marshall Kirk McKusick Keith Bostic 386BSD bug.lv BSD許可證 外部鏈接 BSD.org 組織 DragonFlyBSD 官方網(wǎng)站 FreeBSD 官方網(wǎng)站 NetBSD 官方網(wǎng)站 OpenBSD 官方網(wǎng)站 BSD 認(rèn)證小組 BSD 以及 UNIX 研究年譜 UNIX 和 BSD 的歷史(圖表描述) Google 對 BSD Unix 的搜索專頁 拉脫維亞的第一個 BSD 用戶組 延伸閱讀 Marshall Kirk McKusick,《Open Sources: Voices from the Open Source RevolutionOpenSources》(影印版)·Twenty Years of Berkeley Unix - From AT&T-Owned to Freely Redistributable(伯克利Unix二十年——從AT&T獨(dú)有,到可自由發(fā)布),O&#39;&#39;Reilly & Associates,2003年,ISBN 7-302-06591-8
移動通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團(tuán)隊博客 | 免責(zé)聲明 | 關(guān)于詞典 | 幫助