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