FreeBSD
维库,知识与思想的自由文库
FreeBSD的登入畫面 |
|
| 網站 | FreeBSD官方網站 |
| 公司/ 開發 |
FreeBSD Project |
| 家族 | BSD |
| 源码模式 | 自由軟體 |
| 最新版本 | 6.2-RELEASE / 2007年1月15日 |
| 測試版本 | 7.0-CURRENT / N/A |
| 封包管理程式 | Ports System |
| 支援平台 | alpha/amd64/ia64/pc98/ powerpc/sparc64/x86 |
| 内核类型 | 單核心 |
| 软件授权方式 | BSD許可證 |
FreeBSD是一种類Unix操作系统,是由经过BSD、386BSD和4.4BSD发展而来的 Unix 的一个重要分支。
FreeBSD 是以一個完善的作業系統的定位來做開發。其核心、驅動程式以及所有的使用者層(Userland)應用程式(比方說是Shell)均由同一原始碼版本控制系統保存(目前使用 CVS)。相較於另一知名的的作業系統Linux,其核心為一組開發人員設計,而使用者應用程式則交由他人開發(例如 GNU計劃),最後再由其他團體整合並包裝成Linux套件。
作為一個作業系統,FreeBSD 被認為相當地穩建可靠。在 Netcraft 的開機時間報告中[1],最長的開機時間前50名,最多使用的作業系統就是 FreeBSD(在某些作業系統中,像是一些特殊版本的 Linux,開機時間無法被計算)。長的開機時間可以表示,沒有當機或是核心的問題發生,因此不用為了安裝新版本的核心而重開機造成重新計算開機時間。
目录 |
[编辑] 许可协议
FreeBSD 在BSD許可證下发布,允许任何人在保留版权和许可协议信息的前提下随意使用和发行。BSD许可协议并不限制将 FreeBSD 的源代码在另一个协议下发行,因此商业公司可以自由地将 FreeBSD 代码融入它们的产品之中去。
[编辑] 發展團隊
FreeBSD 採用的 Core Team 的方式來發展。Core Team 的成員是決定整個 FreeBSD 計畫的大方向還有對於開發者間的問題有最後的決定權,其他的開發者也可以送出建議或是他們修改過的程式碼,但是 Core Team 保留的最終的決定權,決定要不要將這功能放進FreeBSD。這種方式與Linux很不一樣。
[编辑] Contributor [2]
也可以說是 Submitter,沒有 FreeBSD 的 CVS 的存取權限,但是可以透過其它的方式,像是送出 Problem Reports 或是在 Mailing list 上面參與討論,來對 FreeBSD 做出貢獻。
[编辑] Committer [3]
有對 FreeBSD 的 CVS 存取的權限,可以將他的程式碼或是文件送到版本庫裡面。一個 committer 必須要在過去的 12 個月中有 commit 的動作。而一個活躍的 committer 指在每個月至少都有一次以上的 commit 動作。
雖然說沒有必要限制一個有 commit 權限的人只能在程式碼樹中可以存取的地方,但是如果一個 committer 要在他/她沒有做出貢獻或是不熟悉的地方,他/她必須要讀那個地方的歷史記錄,還有 MAINTAINER 檔案,確認這個部份的維護者對於更改這邊的程式碼有沒有什麼特殊的要求。
[编辑] Core Team [4]
Core Team 成員由 committer 互相推選出來,是整個 FreeBSD 計畫的領導人,他們提升活躍的 contributor 成為 committer,還有可以指派「Hat」(指在計畫中負責一些特定工作或領域的人),也是對於決定整個計畫的大方向的最後仲裁者。在2004年7月1日,core team 有9位成員,而 core team 選舉每兩年舉行一次。
[编辑] 平台
FreeBSD所支援的平台依照支援程度分成四個等級。第一線平台(Tier 1,完整支援平台)目前包括i386、Sparc64、AMD64及PC98。第二線平台(Tier 2,發展平台)包括PowerPC及IA64。對於第一線與第二線平台,FreeBSD會維持維護及穩定性,同時大多數的新功能也都會被要求在這些平台上能夠正常運作。第三線平台(Tier 3,實驗平台)目前只包括了S/390,這個等級的平台不被FreeBSD正式支援。而其他的平台都被歸類到第四線平台。[5]
對ARM和MIPS架構的支援正在開發中。在開發中的7.x版本中,DEC Alpha 的支援已被移除。
[编辑] FreeBSD初期歷史
FreeBSD 的發展始於1993年,取源於386BSD。然而,因為386BSD原始碼的合理性受到質疑以及Novell(當時UNIX的版權擁有者)與柏克萊接連而來的訴訟,FreeBSD在1995年一月發佈的 2.0-RELEASE 中以柏克萊加州大學的 4.4BSD-Lite Release 全面改寫,FreeBSD Handbook 中有更多 FreeBSD 的發展歷史。
FreeBSD 2.0 最值得注意的部份也許是對卡內基美隆大學的 Mach Virtual Memory 系統翻修以及 FreeBSD Ports system 的發明。前者對於高負荷的系統最佳化,後者則是建立了一套簡單且強大的機制維護第三方軟體。有不少大型站台都使用 FreeBSD,像是 cdrom.com(一個巨大的軟體收集站台),Hotmail 以及 Yahoo。
FreeBSD 3.0 則引入了 ELF binary 格式,並開始支援多 CPU 系統(SMP,Symmetric multiprocessing)以及 64 位元 Alpha 平台。3.x 對於系統做了非常多的改革,這些措施在當時並沒有帶來好處,但卻是 4.X 成功的基石。
[编辑] FreeBSD 5
最後一個版本的 FreeBSD 5 是 5.5,是在 2006年五月發行的。
在FreeBSD 4的SMP架構下,在同一時間內只允許一個CPU進入核心(即Giant Lock),FreeBSD 5最大的改變在於改善底層核心Locking機制,審視並改寫核心程式碼,使得不同的CPU可以同時進入系統核心,藉以增加效率。
另外一個重大的改變在於自5.3開始支援m:n執行緒的KSE(Kernel Scheduled Entities),表示m個使用者執行緒共用n個核心執行緒的模式。
這個版本的許多貢獻是由於商業化版本的BSD OS團隊的支援。
[编辑] FreeBSD 6
FreeBSD 6 為目前的 -STABLE 發展版本,FreeBSD 6.2 在 2007年1月15日發行,這個版本包括了許多 SMP 與執行緒的最佳化,以及對於 802.11 的改進。
[编辑] FreeBSD 7
FreeBSD 7為目前的 -CURRENT 發展版本,在2007年6月19日進入RELEASE程序[6],預定在7.0版新增的功能包括了:
- SCTP(實做完成)[7]
- 日誌式UFS檔案系統(實做完成)[8]
- 移植昇陽所發展的DTrace(實做完成,但還未交付至CVS)
- 移植昇陽所發展的ZFS檔案系統(實做完成)[9]
- 使用GCC4 [10]
- 對ARM與MIPS平台的支援
- 重寫過的USB stack(實做完成,但還未交付至CVS)
- Scalable concurrent malloc實做(已經可以使用)[11] [12]
- ULE排程表2.0(SCHED_ULE)(實做完成)[13],並修改加強為SCHED_SMP(實做完成),在交付至CVS時的正式名稱為ULE 3.0[14],這個版本在8核心的機器上以sysbench MySQL測試的結果,速度上比Linux 2.6快大約10%(無論是使用Google的tcmalloc或是glibc+cfs)[15]
- Linux 2.6模擬(已經可以使用)
- Camellia Block Cipher(實做完成)[16] [17]
[编辑] 命名规则
- A-CURRENT
- 在 -CURRENT 分支所使用的 CVS Tag 為
.,固定被稱為 A-CURRENT,如目前的 -CURRENT 分支為 7-CURRENT,這個版本只建議開發者使用,通常在郵件論壇上測試過覺得沒有什麼大問題的功能會先被加到這個分支裡。
- A.B-STABLE
- 在 -STABLE 分支裡所使用的 CVS Tag 為
RELENG_A,如目前的 -STABLE 分支為RELENG_6與RELENG_5。許多新的功能在 -CURRENT 分支測試一段期間覺得沒有問題後就會將該項功能匿向移植(MFC,Merge from current)回RELENG_6。
- 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 內的功能累積到一定程度後,可以整理出來出新的版本。譬如 6.2-RELEASE、5.4-RELEASE。
- A.B.C-BETA、A.B.C-RC、A.B.C-RELEASE
- 當離上次釋出版本的時間太短時,FreeBSD 團隊會考慮只在後面加上一個次要版號。
[编辑] 許可證
FreeBSD包含了GNU通用公共許可證、GNU宽通用公共许可证、ISC、CDDL和Beerware許可證的程式碼,也有使用三條款和四條款的BSD許可證的程式碼。另外有些驅動程式也包涵了 binary blob,像是Atheros公司的硬體抽象層。這使得所有人都可以自由地使用還有再散布FreeBSD。
不過,FreeBSD的核心和新開發的程式碼大多都使用兩條款的BSD許可證釋出,許多使用GPL的程式碼都必須經過Cleanroom Software Engineering,以其他授權方式重寫,這主要是避免整個核心受到GPL影響。
[编辑] 安裝問題
[编辑] 相关书籍
- Absolute BSD, The Ultimate Guide to FreeBSD. Michael Lucas. No Starch Press, July 2002. ISBN 1886411743.
- BSD Hacks, 100 Industrial-Strength tips for BSD users and administrators. Dru Lavigne. O'Reilly, May 2004. ISBN 0596006799.
- The Complete FreeBSD, 4th Edition, Documentation from the Source. Greg Lehey. O'Reilly, April 2003 ISBN 0596005164.
- The Design and Implementation of the FreeBSD Operating System. Marshall Kirk McKusick and George V. Neville-Neil. Pearson Education. ISBN 0201702452. Expected availability August 2004.
- The FreeBSD Corporate Networkers Guide. Ted Mittelstaedt. Addison-Wesley, December 2000. Paperback, book & CD edition, 401 pages. ISBN 0201704811.
- Designing BSD Rootkits: A Introduction to Kernel Hacking. Joseph Kong, No Starch Press, US, March 29 2007. Paperback, 144 pages, ISBN 1593271425.
[编辑] IRC
正體中文:
- IRCNet 上的 #bsdchat
其他 channel 可以參考 FreeBSD官方wiki 的 IrcChannels 頁面。
[编辑] 參考資料
- ↑ Frequently asked questions Netcraft - 於2007-03-01访问。
- ↑ http://www.freebsd.org/doc/en/articles/contributors/contrib-additional.html
- ↑ http://www.freebsd.org/doc/en/articles/contributors/staff-committers.html
- ↑ http://www.freebsd.org/doc/en/articles/contributors/staff-core.html
- ↑ http://www.freebsd.org/doc/en_US.ISO8859-1/articles/committers-guide/archs.html
- ↑ http://lists.freebsd.org/pipermail/cvs-src/2007-June/080102.html
- ↑ http://lists.freebsd.org/pipermail/freebsd-current/2006-November/067218.html
- ↑ http://lists.freebsd.org/pipermail/freebsd-current/2006-August/064932.html
- ↑ http://lists.freebsd.org/pipermail/cvs-src/2007-April/076644.html
- ↑ http://lists.freebsd.org/pipermail/cvs-src/2007-May/078451.html
- ↑ http://lists.freebsd.org/pipermail/cvs-src/2006-January/058009.html
- ↑ http://lists.freebsd.org/pipermail/freebsd-current/2007-March/070303.html
- ↑ http://lists.freebsd.org/pipermail/freebsd-current/2007-January/068404.html
- ↑ http://lists.freebsd.org/pipermail/cvs-src/2007-July/080748.html
- ↑ http://people.freebsd.org/~jeff/sysbench.png
- ↑ http://lists.freebsd.org/pipermail/cvs-src/2007-May/078078.html
- ↑ http://www.emediawire.com/releases/2007/6/emw531216.htm
- ↑ http://www.freebsd.org/releases/
[编辑] 参见
[编辑] 外部链接
- FreeBSD官方站点
- FreeBSD官方維基
- FreeBSD中国社区站点
- FreshPorts
- http://www.freebsdsoftware.org/
- ChinaUnix UNIX技术站点
- FreeBSD 使用手册 (簡體)
- FreeBSD 使用手冊 (正體)
| 类Unix操作系统 |
|---|
|
A/UX | AIX | BSD | DragonFly BSD | FreeBSD | GNU | HP-UX | IRIX | Linux | LynxOS | Mac OS X | Minix | NetBSD | NEXTSTEP | OpenBSD | QNX | SCO OpenServer | Solaris | System V | Tru64 | Xenix | 更多... | |




