FreeBSD
FreeBSD是 FreeBSD 專案的發展成果,是開放原始碼的類似 Unix 作業系統,是因為 BSD Unix 的原始碼衍生發展而來。加州大學伯克利分校佇一九七五年至一九九三年開發矣 BSD Unix 作業系統。FreeBSD 的授權條款規定原始碼開放,允准任何人自由使用,任何人攏會當得著並使用伊來滿足各種需求,嘛會當修改伊,然後閣重釋出:這層功能專為個人佮公司量身軀頂製化,會當創作各種因為 FreeBSD 的商業佮非商業產品。就算講 FreeBSD 直接對 BSD Unix 衍生,毋過伊對法律角度來看並毋是「UNIX」,因為這馬「UNIX」商標屬於國際開放標準組織,而且 FreeBSD 並無咧使用該商標的授權。
FreeBSD 頭一个版本佇一九九三年釋出。
FreeBSD 支援誠濟硬體佮體系架構。佮其他 BSD 家族的作業系統仝款,核心、趕動的程式佮所有使用者層(Userland)應用程式(如 Unix shell 和 cat 和 ps 等命令)攏積佇咧 FreeBSD 原始碼庫。FreeBSD 嘛會當執行其他二進位軟體,比如講 Linux 的。藉助 ports 和 FreeBSD 軟體套件管理器 pkg,使用者會當安裝各種應用程式。根據二空空五年的調查,七十七%的 BSD 使用者使用 FreeBSD,所以 FreeBSD 有擁有 BSD 系列內底上蓋大的使用者社群。
如今個人佮企業將 FreeBSD 用佇各種用途按呢,包括雅虎,蘋果,看網路,諾基亞,IBM,Yandex,Apache 軟體基金會,Hotmail,索尼佮真濟其他的用途。
使用的狀況
FreeBSD 足廣泛用於侍服器、防火牆和路由器。
FreeBSD 支援各種 X Window 桌面,如 GNOME 和 KDE。
除了支援這馬流行的 x 八十六陵六十四、x 八十六指令集架構,FreeBSD 閣支援 ARM、MIPS 以及 PowerPC 架構,亦會當提去1875入式系統。
拍官司
三百八十六 BSD 和 FreeBSD 均源自一九九二年的 BSD 發行版。一九九二年一月,BSDi 釋出 BSD / 三百八十六,後更號名做 BSD / OS,是因為 BSD 佇咧一九九二年的發行版、和 FreeBSD 相𫝛的作業系統。AT & T 聲稱 BSDi 違反了 AT & T 的原始碼授權條款,閣將其告上法庭。這个該場訴訟達成庭外和解,相關細節並無披露,公眾所知的干焦 BSDi 欲轉換四配四 BSD-Lite 為新的原始碼基礎。雖然無參與的訴訟,有人建議講 FreeBSD 𪜶嘛應該共原始碼基礎轉到四堵四 BSD-Lite。一九九四年十一月,FreeBSD 二孵空釋出,這是 FreeBSD 頭一个版無任何 AT & T 代碼的版本。
特點
網路
FreeBSD 支援 IPv 四,IPv 六,SCTP,IPSec 佮無線網路(Wi-Fi)。 其實 IPv 六和 IPSec 棧由 KAME Project 得著。
對 FreeBSD 五鋪四開始支援共享位址趁食協定(CARP)。 CARP 允准濟節點共享 IP 位址群。所以若有節點半遂,其他的節點會當接收請求。
儲存
FreeBSD 的 UFS 檔案系統支援軟更新佮檔案系統緊照。FreeBSD 通過 GEOM 架構支援 RAID 功能。
FreeBSD 支援兩種資料加密基礎體系:GBDE 和 Geli。兩个操作攏佇磁碟層級頂懸。GBDE 由波爾-亨寧 ・ 坎普編寫,並佇咧遵守雙 BSD 授權條款(即「簡化 BSD 授權條款」和「FreeBSD 授權條款」二者)狀況放出來;而且 Geli 著著 GBDE 的替代品,伊第一改佇咧 FreeBSD 六鼻空出現,由帕仔 ・ 雅 ・ 戴夫(Pawel Jakub Dawidek)編寫。
FreeBSD 支援 UFS、ZFS 等等加種檔案系統。
安全
徙栽
開發
管理架構
分支
FreeBSD 開發者會同時維持至少兩種開發分支。_-CURRENT _(這馬乎)分支時刻代表 FreeBSD 開發的上前沿。_-STABLE _ 分椏為每一个主要版本的 FreeBSD 毋過設,每四至六個月才會從此分支中更新一擺-RELEASE 分支。如果一項功能夠穩定成熟,伊就真有可能後來徙栽(佇咧 FreeBSD 開發者口語內底叫做 _ MFC _ 抑是 _ 由 CURRENT 合併 _)到 _-STABLE _ 分支。
基金會
授權條款
FreeBSD 佇咧 BSD 授權條款之下釋出,允准任何人佇咧保留著作權佮授權條款資訊的前提著隨意使用佮發行。BSD 授權條款並無限制將 FreeBSD 的原始碼佇另外一个協定下發行,所以所有的團體攏會當自由地將 FreeBSD 代碼融入𪜶的產品之中去。
發展的團隊
FreeBSD 發展採用 Core Team 的方式。Core Team 的成員決定規个 FreeBSD 計畫的大方向,對開發者問的問題有最後的決定權,其他的開發者嘛會當送出建設抑是𪜶改過的原始碼,猶毋過 Core Team 保留上尾的決定權,決定敢是共這个功能囥入去 FreeBSD。這種方式佮 Linux 發展大相直接接。
Contributor
嘛會當講是 Submitter,沒有 FreeBSD Subversion 的存取權限,但是會當透過其他的方式,如提交 Problem Reports 抑是佇咧 Mailing list 上參與討論,來貢獻 FreeBSD。
Committer
有嘿 FreeBSD 的 Subversion 存取的權限,會當將伊的原始碼抑是檔案送到版本庫內底。一个 committer 必須愛佇過去的十二個月中有 commit 的動作。啊若一个活跳的 committer 指佇咧每個月上少攏有一改以上的 commit 動作。
雖然講無必要限制一个有 commit 權限的人干焦會當佇原始碼樹仔內底會當存取的所在,但是若是一个 committer 愛佇咧伊/伊無做出貢獻抑是無熟似的所在,伊/伊必須愛讀彼个所在的歷史記錄,閣有 MAINTAINER 檔案,確認這个部份的維護者對更改遮的原始碼敢有啥物特殊的要求。
Core Team
Core Team 成員由 committer 推捒出來,是規个 FreeBSD 計畫的領導人,𪜶提升有活骨的 contributor 成做 committer,閣有會當指派「Hat」(指佇計劃內底負責一寡特定的工課抑是領域的人), 嘛是對決定規个計畫的大方向的最後中人裁者。佇二空空四年七月一號,core team 有九个成員,而且 core team 選舉每兩年一遍。
平台
FreeBSD 所支援的平台照支援程度分做四个等級。第一線平台(Tier 一,完整支援平台)目前包括 x 八十六、x 八十六陵六十四。第二線平台(Tier 二,發展予平台)包括講 ARM、PC 九十八、PowerPC。對第一線佮第二線平台,FreeBSD 會維持維護佮穩定性,同時嘛攏會要求大多數新功能佇遮的平台正常運作。
第三線平台(Tier 三,實驗平台)目前包括著 MIPS 佮 S / 三百九十,這个級數的平台無為 FreeBSD 正式支援。
其他平台攏歸類到第四線平台。
版本佮歷史
初期的歷史
FreeBSD 的發展始佇咧一九九三年,起是三百八十六 BSD。毋過,因為三百八十六 BSD 原始碼的合理性受著質疑以及 Novell(彼當陣 UNIX 的著作權有者)佮柏克萊相連紲來的訴訟,FreeBSD 佇一九九五年一月釋出的二嬸空-RELEASE 當中以柏克萊加州大學的四堵四 BSD-Lite Release 全面覆寫。FreeBSD Handbook 中有閣較濟 FreeBSD 的發展歷史。
FreeBSD 二嬸空上值得注意的部份凡勢是對卡內基美隆大學的 Mach Virtual Memory 系統翻修佮 FreeBSD Ports system 的發明。前者對高負擔的系統上好化,後者是建立一套簡單而且強大的機制維護第三方軟體。有袂少大型徛台攏會使用 FreeBSD,像講 cdrom . com(一个誠大的軟體收集站台), Hotmail 以及 Yahoo。
FreeBSD 三更零是引入了 ELF binary 格式,並開始支援多 CPU 系統(SMP,Symmetric multiprocessing)以及六十四位元 Alpha 平台。三 . x 對系統做了真濟改革,遮的措施佇咧彼當陣並無𤆬來好處,但是咧卻是四 . X 成功的基石。
FreeBSD 四
四配零-RELEASE 佇二空空空年三月發行,最後一个版本四配一一-RELEASE 佇二空空五年一月發行,並支援到二空空七年一月。FreeBSD 四嘛是 FreeBSD 上長壽的主版本。FreeBSD 四發展出來的 kqueue 嘛徙栽到各種無仝 BSD 平台。
FreeBSD 五
FreeBSD 五的上尾一个版本 FreeBSD 五鋪五佇二空空六年五月發行。
佇咧 FreeBSD 四的 SMP 架構下跤,佇仝一个時間內只允准一个 CPU 進入去核心(即 Giant Lock), FreeBSD 五上大的改變佇咧改善底層核心 Locking 機制,審視閣再寫核心程式碼,予伊無仝的 CPU 會當同齊進入系統核心,藉以增加效率。
另外一个重大的改變是佇自五分之五開始支援 m : n 執行緒的 KSE(Kernel Scheduled Entities), 表示 m 個使用者執行緒共享 n 個核心執行緒的模式。
這个版本的真濟貢獻是因為商業化版本的 BSD OS 團隊的支援。
FreeBSD 六
FreeBSD 六為一个-STABLE 發展版本,FreeBSD 六嬸三佇二空空八年一月十八號發行,這个版本主要針對軟體的更新,並加入 lagg(會當對加張網卡操作)的支援,閣引入重新覆寫的 unionfs。FreeBSD 六嬸四佇二空空八年十一月二八發行。
FreeBSD 七
FreeBSD 七為目前第二个-STABLE 發展版本,佇二空空七年六月十九號進入發行程式,二空空八年二月二十七號七陽空-RELEASE 正式的釋放。二空一空年三月二三 FreeBSD 七鼗三-RELEASE 正式的釋放。新增加的功能包括了:
- SCTP(實在做完成)
- UFS 日誌檔案系統:gjournal(實在做完成)
- 移植昇陽所發展的 DTrace(實在做完成,毋過猶未交付至 CVS)
- 移植昇陽所發展的 ZFS 檔案系統(實在做完成)
- 使用 GCC 四(徙栽完成,目前為四配二 . 一)
- 著 ARM 佮 MIPS 平台的支援
- 重寫過的 USB stack(實在做完成,毋過猶未交付至 CVS)
- Scalable concurrent malloc 實在做(已經會當使用)
- ULE 排程表二孵空(SCHED \ _ ULE,實在做完成), 並且修改加強為 SCHED \ _ SMP(實在做完成), 佇咧交付至 CVS 時的正式號做 ULE 三-c零,這个版本咧八核心的機器上以 sysbench MySQL 試的結果,速度比 Linux 二嬸六欲約百分之十(無論是使用 Google 的 tcmalloc 抑是講 glibc + cfs)
- Linux 二鋪六類的比層(已經會當使用)
- Camellia Block Cipher(實在做完成)
- ZFS 的執行
FreeBSD 八
FreeBSD 八○零 FreeBSD 八否一
二空一空年七月二十四號釋出 FreeBSD 八否一-RELEASE,增加如下新特性:
- 虛擬化方面:Xen DOM-U、VirtualBox guest 佮 host 支援、層次式 jail。
- NFS:著 NFSv 三 GSSAPI 的支援,以及試驗性的 NFSv 四客戶捀和侍服器。
- 八百空二孵一一 s D 三更空三 wireless mesh 網路,猶閣有虛擬 Access Point 支援。
- ZFS 不再是試驗性的了。
- 是因為 Juniper Networks 提供 MIPS 處理器的實驗性支援。
- SMP 擴充性的增強,顯明改善佇十六核心處理器系統內底的效能。
- VFS 加鎖的重新實現,顯明改善檔案系統的會當延伸性。
- 明顯勻勻仔衝區溢位佮核心空指標問題。
- 會當延伸的核心安全框殼(MAC Framework)現在正式會使用。
- 完全更新的 USB 疊改善了效能佮裝置相容性,加了 USB target 模式。
FreeBSD 八堵二 FreeBSD 八堵三 FreeBSD 八堵四
FreeBSD 九
FreeBSD 九九零
FreeBSD 九九石零佇二空一二年一月釋出,是第一个九 . x 的 FreeBSD 穩定分支,有以下特性:
- 所以採用新的安裝程式 bsdinstall
- ZFS 和 NFS 檔案系統得著改進
- 升級矣 ATA / SATA 驅動並支援 AHCI
- 採用 LLVM / Clang 代替 GCC
- 高效的 SSH(HPN-SSH)
- PowerPC 版支援索尼的 PS 三
FreeBSD 九陽一
FreeBSD 九石一於二空一二年十一月發布
FreeBSD 九九陽二
FreeBSD 九九二於二空一三年十月發布
FreeBSD 九九陽三
FreeBSD 九石三於二空一四年七月發布
FreeBSD 十
FreeBSD 十曉零
FreeBSD 十二空一四年一月發布,這版本包括的重要改進包括:
- 支援的平台頂懸,clang ( 一 ) 取代 GCC 成做預設的系統編譯器。
- 系統引入矣 Unbound 成做原生的緊號 DNS 侍服器。
- 基本系統中刪除了 BIND。
- 用來自 NetBSD 的 bmake ( 一 ) 共號代原有的 make ( 一 )。
- 使用矣新的 pkg ( 七 ) 做包管理工具。
- 刪去了舊岫的包管理工具 pkg \ _ add ( 一 )、pkg \ _ delete ( 一 ),佮其相關的工具。
- 大幅度強化囉支援虛擬化,增加有新 bhyve ( 八 ) 虛擬機,以及 virtio ( 四 ) 佮著微軟 Hyper-V 的原生半虛擬化支援。
- 為 ZFS 添加欲用著 SSD 的 TRIM 支援。
- 為 ZFS 添加了高效能的 LZ 四壓縮演算法支援。
FreeBSD 十曉一
FreeBSD 十二一於二空一四年十一月初六正式發布
FreeBSD 十二
FreeBSD 十二於二空一五年八月十三正式發布。主要改進包括:
- resolvconf ( 八 ) 更新至三更七 . 零,改進了 DNS 隱私保護。
- ntp 更新至四淋二 . 八 p 三,修正了大量早前版本的問題。
- 新增加用於支援虛擬化環境的 rc ( 八 ) 指令碼 growfs,用佇咧系統第一擺引導的時陣擴大根檔案系統。
- 更新矣 Linux ( R ) ABI 相容支援,來共支援 Centos ( TM ) 六 ports .
- 將 drm 更新至 Linux ( R ) 三-c八 . 十三,支援同時執行濟个 X server。
- 針對 FreeBSD / arm 平台大量更新佮改進。
- 濟个 ZFS 相關的效能佮可靠性改進,增加大塊的(一 MB)支援。
- GNOME 版本更新到三允一四 . 二 .
- KDE 版本更新到四配一四 . 三 .
FreeBSD 十曉三
FreeBSD 十二三佇二空一六年三月二五正式發布
FreeBSD 十一
FreeBSD 十一孵空
FreeBSD 十一孵空佇二空一六年九月二二正式發布
FreeBSD 十二
FreeBSD 十二孵空
FreeBSD 十二孵一
FreeBSD 十二石一於二空一八年十二月十一號正式發布
FreeBSD 十二孵二
FreeBSD 十二孵二佇二空二空年十月二八正式釋出
FreeBSD 十三
FreeBSD 十三孵空
FreeBSD 十三抹空佇二空二二年四月十三號正式釋出
FreeBSD 十三孵一
號名規則
- A-CURRENT
- 佇咧-CURRENT 分之之一的 CVS Tag 為 ` . `,固定稱為 A-CURRENT,如目前-CURRENT 分支做十二-CURRENT,這个版本干焦建議開發者使用,通常佇是郵件論壇頂面試驗過感覺無啥物大問題的功能會先加到這分支。
- A . B-STABLE
- 佇咧-STABLE 分裂里所使用的 CVS Tag 為 ` RELENG _ A `,如目前-STABLE 分支為 ` RELENG _ 十 ` 佮 ` RELENG _ 九 `。真濟新功能佇咧-CURRENT 分支測試一个期間就感覺無問題了就會共這項功能倚向徙栽(MFC,Merge from current)回 ` RELENG _ 十 `。
- A . B-BETA、A . B-RC
- 這是當開發團隊認為-STABLE 分支有夠額新功能佮其他的理由認為會當釋出新版 FreeBSD 時,會先將-STABLE 分支名稱改做-BETA,表示欲進入 Release Cycle。
- A . B-RELEASE
- -RELEASE 分支使用的 CVS Tag 為 ` RELENG _ A _ B ` 抑是 ` RELENG _ A _ B _ C `,這是 CVS 分支袂增加功能,干焦做安全維護。遮的分支是咧開發團隊認為-STABLE 的功能累積到一定程度了,會當整理出來出新版本。比如講六更二-RELEASE、五孵四-RELEASE。
- A . B . C-BETA、A . B . C-RC、A . B . C-RELEASE
- 當離頂改釋出版本的時間傷短時,FreeBSD 團隊會考慮干焦佇後壁閣加一个次欲版號。
授權條款
FreeBSD 包括著矣 GNU 通用公眾授權條款、GNU 較冗公共許可證、ISC 授權條款、通用開發佮散布授權條款佮 bì-lù 軟體授權條款的程式碼,嘛有使用三條款佮四條款的 BSD 授權條款的程式碼。另外有一寡驅動程式也包涵二進位大型物件,像講 Atheros 公司的硬體抽象層。這使所有的人攏會當自由使用閣有閣散布 FreeBSD。
猶毋過,FreeBSD 的核心佮新開發的程式碼多數攏使用兩條款的 BSD 授權條款釋出,使用足濟 GPL 的程式碼攏愛經過淨室工程,以其他授權方式重寫,這主要是避免規个核心受著 GPL 影響。
已經知問題
- 一般來講,FreeBSD 支援的硬體較 Linux 少。安裝進前來參考 FreeBSD 佇網站頂懸 Release Information 里愛安裝版本的 Hardware Notes。
- 其他已經有問題
相關冊
- _ Absolute BSD , The Ultimate Guide to FreeBSD _ . Michael Lucas . No Starch Press , July 兩千空二 . ISBN 一孵八十八孵六千四百一十一孵七十四孵三 .
- _ BSD Hacks , 一百 Industrial-Strength tips for BSD users and administrators _ . Dru Lavigne . O'Reilly , May 兩千空四 . ISBN 空抹五百九十六鋪六百七十九陽九 .
- _ The Complete FreeBSD , 四 th Edition , Documentation from the Source _ . Greg Lehey . O'Reilly , April 兩千空三 ISBN 空知五百九十六五百一十六五四 .
- _ The Design and Implementation of the FreeBSD Operating System _ . Marshall Kirk McKusick and George V . Neville-Neil . Pearson Education . ISBN 空九二百空一四七五五 . Expected availability August 兩千空四 .
- _ The FreeBSD Corporate Networkers Guide _ . Ted Mittelstaedt . Addison-Wesley , December 兩千 . Paperback , book & CD edition , 四百空一 pages . ISBN 空五二百空一四七五空四百八十一孵一 .
- _ Designing BSD Rootkits : A Introduction to Kernel Hacking _ . Joseph Kong , No Starch Press , US , March 二十九兩千空七 . Paperback , 一百四十四 pages , ISBN 一石頭五鋪九千三百二十七石一百四十二孵五 .
IRC
正體中文:
- Freenode 上的 # bsdchat
其他 channel 會當去參考 FreeBSD 官方 wiki 的頁面。
參見
- BSD
- 三百八十六 BSD
- DragonFly BSD
- NetBSD
- OpenBSD
- BSD 小惡魔
- FreeSBIE
參考文獻
外部連結
- FreeBSD 官方站點(英文)
- FreeBSD 官方維基(英文)
- FreeBSD 中文網站(簡體中文)
- FreeBSD 中國社群站點
- www . freebsdsoftware . org
- ChinaUnix UNIX 技術站點
- FreeBSD 使用手冊(簡體中文)
- FreeBSD 使用手冊(繁體中文)