| FreeBSD | |
| 網站 | FreeBSD官方網站 |
|---|---|
| 開發公司/ 開發者 |
FreeBSD Project |
| 作業系統家族 | BSD |
| 原始碼模式 | 自由軟體 |
| 最新穩定版本 | 7.0-RELEASE / 2008年2月27日[1] |
| 套件管理員 | 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 的開機時間報告中[2],最長的開機時間前50名,最多使用的作業系統就是 FreeBSD(在某些作業系統中,像是一些特殊版本的 Linux,無法計算其開機時間)。長的開機時間可以表示FreeBSD的系統相當穩定,不用為了安裝新版本的核心而重開機造成重新計算開機時間。
目錄 |
FreeBSD 在BSD許可證下發布[3],允許任何人在保留版權和許可協議信息的前提下隨意使用和發行。BSD許可協議並不限制將 FreeBSD 的原始碼在另一個協議下發行,因此商業公司可以自由地將 FreeBSD 代碼融入它們的產品之中去。
FreeBSD 採用的 Core Team 的方式來發展。Core Team 的成員是決定整個 FreeBSD 計畫的大方向還有對於開發者間的問題有最後的決定權,其他的開發者也可以送出建議或是他們修改過的程式碼,但是 Core Team 保留的最終的決定權,決定要不要將這功能放進FreeBSD。這種方式與Linux很不一樣。
也可以說是 Submitter,沒有 FreeBSD 的 CVS 的存取權限,但是可以透過其它的方式,像是送出 Problem Reports 或是在 Mailing list 上面參與討論,來對 FreeBSD 做出貢獻。
有對 FreeBSD 的 CVS 存取的權限,可以將他的程式碼或是文件送到版本庫裡面。一個 committer 必須要在過去的 12 個月中有 commit 的動作。而一個活躍的 committer 指在每個月至少都有一次以上的 commit 動作。
雖然說沒有必要限制一個有 commit 權限的人只能在程式碼樹中可以存取的地方,但是如果一個 committer 要在他/她沒有做出貢獻或是不熟悉的地方,他/她必須要讀那個地方的歷史記錄,還有 MAINTAINER 檔案,確認這個部份的維護者對於更改這邊的程式碼有沒有什麼特殊的要求。
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正式支援。而其他的平台都被歸類到第四線平台。[7]
對ARM和MIPS架構的支援正在開發中。在開發中的7.x版本中,DEC Alpha 的支援已被移除。
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 是 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為目前的-STABLE發展版本,FreeBSD 6.3在2008年1月18日發行[8],這個版本主要針對軟體的更新,並加入lagg(可以對多張網卡操作)的支援,並引入重新改寫的unionfs。
FreeBSD 7為目前第二個-STABLE發展版本,在2007年6月19日進入發行程序[9],2008年2月27日7.0-RELEASE正式發布[1]。新增的功能包括了:
.,固定被稱為 A-CURRENT,如目前的 -CURRENT 分支為 7-CURRENT,這個版本只建議開發者使用,通常在郵件論壇上測試過覺得沒有什麼大問題的功能會先被加到這個分支裡。RELENG_A,如目前的 -STABLE 分支為 RELENG_6 與 RELENG_5。許多新的功能在 -CURRENT 分支測試一段期間覺得沒有問題後就會將該項功能逆向移植(MFC,Merge from current)回 RELENG_6。RELENG_A_B 或 RELENG_A_B_C,這些 CVS 分支不會有功能的增加,只做安全性的維護。這些分支是在開發團隊認為 -STABLE 內的功能累積到一定程度後,可以整理出來出新的版本。譬如 6.2-RELEASE、5.4-RELEASE。FreeBSD包含了GNU通用公共許可證、GNU寬通用公共許可證、ISC、CDDL和Beerware許可證的程式碼,也有使用三條款和四條款的BSD許可證的程式碼。另外有些驅動程式也包涵了 binary blob,像是Atheros公司的硬體抽象層。這使得所有人都可以自由地使用還有再散布FreeBSD。
不過,FreeBSD的核心和新開發的程式碼大多都使用兩條款的BSD許可證釋出,許多使用GPL的程式碼都必須經過Cleanroom Software Engineering,以其他授權方式重寫,這主要是避免整個核心受到GPL影響。
正體中文:
其他 channel 可以參考 FreeBSD官方wiki 的 IrcChannels 頁面。
| 類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 | 更多... | |
Why are we here?
All text is available under the terms of the GNU Free Documentation License
This page is cache of Wikipedia. History