Remove ads
自由的類Unix作業系統 来自维基百科,自由的百科全书
FreeBSD是FreeBSD項目的發展成果[3],是開放源代碼的類Unix操作系統,基於BSD Unix的源代碼衍生發展而來。加州大學伯克利分校在1975年至1993年開發了BSD Unix操作系統。FreeBSD的許可證規定源代碼開放,允許任何人自由使用,任何人都可以獲得並使用它來滿足各種需求,也可以修改它,然後再重發布:此功能專為個人和公司量身定製,可用於創作各種基於FreeBSD的商業和非商業產品。儘管FreeBSD直接從BSD Unix衍生,但它從法律角度來看並不是「UNIX」,因為現在「UNIX」商標屬於國際開放標準組織,而FreeBSD並沒有使用該商標的授權。[4]
FreeBSD第一個版本於1993年釋出。
FreeBSD支持許多硬件和體系架構。和其他BSD家族的操作系統一樣,核心、驅動程序以及所有用戶層(Userland)應用程序(如Unix shell和cat和ps等命令)都儲存在FreeBSD源代碼庫。[5]FreeBSD也可以運行其他二進制軟件,比如Linux的。藉助ports和FreeBSD軟件包管理器pkg,用戶能安裝各種應用程序。根據2005年的調查,77%的BSD用戶使用FreeBSD,因此FreeBSD擁有BSD系列中最大的用戶社群。[6]
如今個人和企業將FreeBSD用於各種用途,包括雅虎[7],蘋果[8],瞻博網絡,諾基亞,IBM,Yandex,Apache軟件基金會,Hotmail,索尼和許多其他用途。
FreeBSD支持各種X Window桌面,如Lumina和GNOME和KDE。
除了支持現在流行的x86-64、x86指令集架構,FreeBSD還支持ARM、MIPS以及PowerPC架構,亦可用於嵌入式系統。
386BSD和FreeBSD均源自1992年的BSD發行版。1992年1月,BSDi發布BSD/386,後更名為BSD/OS,是基於BSD在1992年的發行版、和FreeBSD相似的操作系統。AT&T聲稱BSDi違反了AT&T的源代碼許可協議,並將其告上法庭。該場訴訟達成庭外和解,相關細節並未披露,公眾所知的只有BSDi將轉換4.4BSD-Lite為新的源碼基礎。[來源請求]雖然沒有參與訴訟,有人建議FreeBSD他們也應該將源碼基礎轉到4.4BSD-Lite。[來源請求]1994年11月,FreeBSD 2.0釋出,這是FreeBSD首版無任何AT&T代碼的版本。
FreeBSD支持IPv4,IPv6,SCTP,IPSec和無線網絡(Wi-Fi)。其IPv6和IPSec棧由KAME Project得到。
從FreeBSD 5.4開始支援共用位址冗餘協定(CARP)。CARP允許多節點共享IP地址群。所以如果有節點癱瘓,其他節點仍能接收請求。
FreeBSD的UFS文件系統支持軟更新和文件系統快照。FreeBSD通過GEOM架構支援RAID功能。
FreeBSD支持兩種數據加密基礎體系:GBDE和Geli。兩者操作均在磁盤層級上。GBDE由波爾-亨寧·坎普編寫,並在遵守雙BSD許可證(即「簡化BSD許可證」和「FreeBSD許可證」二者)情況發布;而Geli則是GBDE的替代品,它第一次在FreeBSD 6.0出現,由帕·雅·戴夫(Pawel Jakub Dawidek)編寫。
FreeBSD開發者會同時維持至少兩種開發分支。-CURRENT(現在)分支時刻代表FreeBSD開發的最前沿。-STABLE分支為每個主要版本的FreeBSD而設,每4至6個月才會從此分支中更新一次-RELEASE分支。若一項功能足夠穩定成熟,它就很有可能向後移植(在FreeBSD開發者口語中稱為MFC或由CURRENT合併)到-STABLE分支。[9][10]
FreeBSD在BSD許可證下發布[11],允許任何人在保留版權和許可協議信息的前提下隨意使用和發行。BSD許可協議並不限制將FreeBSD的源代碼在另一個協議下發行,因此任何團體都可以自由地將FreeBSD代碼融入它們的產品之中去。
FreeBSD發展採用Core Team的方式。Core Team的成員決定整個FreeBSD計劃的大方向,對於開發者問的問題有最後的決定權,其他的開發者也可以送出建設或是他們修改過的源代碼,但是Core Team保留最終的決定權,決定是否將這功能放進FreeBSD。這種方式與Linux發展大相徑庭。
也可以說是Submitter,無FreeBSD Subversion的存取權限,但是可以透過其它的方式,如提交Problem Reports或在Mailing list上參與討論,來貢獻FreeBSD。[12]
有對FreeBSD的Subversion存取的權限,可以將他的源代碼或是文件送到版本庫裡面。一個committer必須要在過去的12個月中有commit的動作。而一個活躍的committer指在每個月至少都有一次以上的commit動作。
雖然說沒有必要限制一個有commit權限的人只能在源代碼樹中可以存取的地方,但是如果一個committer要在他/她沒有做出貢獻或是不熟悉的地方,他/她必須要讀那個地方的歷史記錄,還有MAINTAINER檔案,確認這個部份的維護者對於更改這邊的源代碼有沒有什麼特殊的要求。[13]
Core Team成員由committer互相推選出來,是整個FreeBSD計劃的領導人,他們提升活躍的contributor成為committer,還有可以指派「Hat」(指在計劃中負責一些特定工作或領域的人),也是對於決定整個計劃的大方向的最後仲裁者。在2004年7月1日,core team有9位成員,而core team選舉每兩年一次。
FreeBSD所支持的平台依照支持程度分成四個等級。[14]第一線平台(Tier 1,完整支持平台)目前包括x86、x86-64。第二線平台(Tier 2,發展平台)包括ARM、PC98、PowerPC。對於第一線與第二線平台,FreeBSD會維持維護及穩定性,同時也都會要求大多數新功能能在這些平台正常運作。
第三線平台(Tier 3,實驗平台)目前包括了MIPS及S/390,這等級的平台不為FreeBSD正式支持。
其他平台都歸類到第四線平台。
此章節需要更新。 (2022年5月17日) |
FreeBSD的發展始於1993年,起源於386BSD。[15]然而,因為386BSD原始碼的合理性受到質疑以及Novell(當時UNIX的版權擁有者)與柏克萊接連而來的訴訟,FreeBSD在1995年1月發布的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成功的基石。
4.0-RELEASE於2000年3月發行,最後一個版本4.11-RELEASE於2005年1月發行,並支持到2007年1月[16]。FreeBSD 4也是FreeBSD最長壽的主版本。FreeBSD 4發展出來的kqueue也移植到各種不同BSD平台。
FreeBSD 5的最後一個版本FreeBSD 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日發行[17],這個版本主要針對軟件的更新,並加入lagg(可以對多張網卡操作)的支持,並引入重新改寫的unionfs。FreeBSD 6.4在2008年11月28日發行[18]。
FreeBSD 7為目前第二個-STABLE發展版本,在2007年6月19日進入發行程序[19],2008年2月27日7.0-RELEASE正式發布。2010年3月23日FreeBSD 7.3-RELEASE正式發布[20]。新增的功能包括了:
2010年7月24日發布FreeBSD 8.1-RELEASE,[34]增加如下新特性:[35]
FreeBSD 9.0於2012年1月發布,是第一個9.x的FreeBSD穩定分支,有以下特性:
FreeBSD 9.1於2012年11月發布
FreeBSD 9.2於2013年10月發布
FreeBSD 9.3於2014年7月發布
FreeBSD 10.0於2014年1月發布,這版本包含的重要改進包括:
FreeBSD 10.1於2014年11月6日正式發布
FreeBSD 10.2於2015年8月13日正式發布。主要改進包括[46]:
FreeBSD 10.3於2016年3月25日正式發布
FreeBSD 11.0於2016年9月22日正式發布
FreeBSD 12.1於2018年12月11日正式發布
FreeBSD 12.2於2020年10月28日正式發布
FreeBSD 12.3於2021年12月7日正式發布
FreeBSD 12.4於2022年12月5日正式發布
FreeBSD 13.0於2022年4月13日正式發布
FreeBSD 13.1於2022年5月16日正式發布
FreeBSD 13.2於2023年4月11日正式發布
FreeBSD 13.3於2024年3月5日正式發布
FreeBSD 14.0於2023年11月20日正式發布[51]
root 用戶的默認 shell 現在是 sh[52]
OpenSSH 已更新至9.5p1
OpenSSL 已更新至3.0.12
bhyve現在支持 TPM 和 GPU 直通
在 amd64 和 arm64 平台上支持最多1024 個內核
ZFS 已升級到 OpenZFS 2.2,提供了顯着的性能改進
現在可以對運行日誌軟更新的 UFS 文件系統執行後台文件系統檢查
實驗性 ZFS 映像現已可用於 AWS 和 Azure
默認的郵件傳輸代理 (MTA) 現在是 Dragonfly Mail Agent(dma),而不是 sendmail
.
,固定稱為A-CURRENT,如目前-CURRENT分支為12-CURRENT,這個版本只建議開發者使用,通常在郵件論壇上測試過覺得沒有什麼大問題的功能會先加到這分支。RELENG_A
,如目前-STABLE分支為RELENG_10
與RELENG_9
。許多新功能在-CURRENT分支測試一段期間覺得沒有問題後就會將該項功能逆向移植(MFC,Merge from current)回RELENG_10
。RELENG_A_B
或RELENG_A_B_C
,這些CVS分支不會增加功能,只做安全維護。這些分支是在開發團隊認為-STABLE的功能累積到一定程度後,可以整理出來出新版本。譬如6.2-RELEASE、5.4-RELEASE。FreeBSD包含了GNU通用公共許可證、GNU寬通用公共許可證、ISC許可證、通用開發與散布許可證和啤酒軟件許可證的程序代碼,也有使用三條款和四條款的BSD許可證的程序代碼。另外有些驅動程序也包涵了二進制大型物件,像是Atheros公司的硬件抽象層。這使所有人都可以自由使用還有再散布FreeBSD。
不過,FreeBSD的核心和新開發的程序代碼大多都使用兩條款的BSD許可證釋出,許多使用GPL的程序代碼都必須經過淨室工程,以其他授權方式重寫,這主要是避免整個核心受到GPL影響。
正體中文:
其他channel可以參考FreeBSD官方wiki的(頁面存檔備份,存於網際網路檔案館)頁面。
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.