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.