FreeBSD

FreeBSD是FreeBSD项目的发展成果，是开放源代码的类Unix操作系统，基于BSD Unix的源代码衍生发展而来。加州大学伯克利分校在1975年至1993年开发了BSD Unix操作系统。FreeBSD的许可证规定源代码开放，允许任何人自由使用，任何人都可以获得并使用它来满足各种需求，也可以修改它，然后再重发布：此功能专为个人和公司量身定制，可用于创作各种基于FreeBSD的商业和非商业产品。尽管FreeBSD直接从BSD Unix衍生，但它从法律角度来看並不是“UNIX”，因为现在“UNIX”商标属于国际开放标准组织，而FreeBSD并没有使用该商标的授权。

FreeBSD第一个版本于1993年釋出。

FreeBSD支持许多硬件和体系架构。和其他BSD家族的操作系统一样，核心、驱动程序以及所有用户层（Userland）应用程序（如Unix shell和cat和ps等命令）都储存在FreeBSD源代码库。FreeBSD也可以运行其他二进制软件，比如Linux的。借助ports和FreeBSD软件包管理器pkg，用户能安装各种应用程序。根据2005年的调查，77％的BSD用户使用FreeBSD，因此FreeBSD拥有BSD系列中最大的用户社群。

如今个人和企业将FreeBSD用于各种用途，包括雅虎，苹果，瞻博网络，诺基亚，IBM，Yandex，Apache软件基金会，Hotmail，索尼和许多其他用途。

 使用情况 
FreeBSD广泛用于服务器、防火墙和路由器。

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通过架構支援RAID功能。

FreeBSD支持两种数据加密基础体系：和。两者操作均在磁盘层级上。由编写，并在遵守双BSD许可证（即“简化BSD许可证”和“FreeBSD许可证”二者）情况发布；而则是的替代品，它第一次在FreeBSD 6.0出现，由帕·雅·戴夫（Pawel Jakub Dawidek）编写。

FreeBSD支持UFS、ZFS等多种文件系统。

 安全 
 移植 
 开发 
 管理架构 
 分支 
FreeBSD开发者会同时维持至少两種开发分支。-CURRENT（現在）分支时刻代表FreeBSD开发的最前沿。-STABLE分支为每个主要版本的FreeBSD而设，每4至6个月才会从此分支中更新一次-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必须要在过去的12个月中有commit的动作。而一个活跃的committer指在每个月至少都有一次以上的commit动作。

虽然说没有必要限制一个有commit权限的人只能在源代码树中可以存取的地方，但是如果一个committer要在他／她没有做出贡献或是不熟悉的地方，他／她必须要读那个地方的历史记录，还有MAINTAINER档案，确认这个部份的维护者对于更改这边的源代码有没有什么特殊的要求。

 Core Team 
Core Team成员由committer互相推选出来，是整个FreeBSD计划的领导人，他们提升活跃的contributor成为committer，还有可以指派「Hat」（指在计划中负责一些特定工作或领域的人），也是对于决定整个计划的大方向的最后仲裁者。在2004年7月1日，core team有9位成员，而core team选举每两年一次。

 平台
FreeBSD所支持的平台依照支持程度分成四个等级。第一线平台（Tier 1，完整支持平台）目前包括x86、x86-64。第二线平台（Tier 2，发展平台）包括ARM、PC98、PowerPC。对于第一线与第二线平台，FreeBSD会维持维护及稳定性，同时也都会要求大多数新功能能在这些平台正常运作。

第三线平台（Tier 3，实验平台）目前包括了MIPS及，这等级的平台不為FreeBSD正式支持。

其他平台都歸類到第四線平台。
 平台 支持等級 注意 IA-32 Tier 1 參見"i386" x86-64 Tier 1 參見"amd64" ARM Tier 2 NEC PC-9801 Tier 2 參見"pc98" PowerPC Tier 2 Sun SPARC Tier 2 只支援64-bit (V9)平台 MIPS Tier 3  Tier 3

 版本與歷史

 初期歷史 
FreeBSD的发展始于1993年，起源于。然而，因为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成功的基石。

 FreeBSD 4 
4.0-RELEASE于2000年3月发行，最后一个版本4.11-RELEASE于2005年1月发行，并支持到2007年1月。FreeBSD 4也是FreeBSD最长寿的主版本。FreeBSD 4发展出来的kqueue也移植到各种不同BSD平台。

 FreeBSD 5 

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 

FreeBSD 6为一个-STABLE发展版本，FreeBSD 6.3在2008年1月18日发行，这个版本主要针对软件的更新，并加入lagg（可以对多张网卡操作）的支持，并引入重新改写的unionfs。FreeBSD 6.4在2008年11月28日发行。

 FreeBSD 7 
FreeBSD 7為目前第二個-STABLE發展版本，在2007年6月19日進入發行程序，2008年2月27日7.0-RELEASE正式发布。2010年3月23日FreeBSD 7.3-RELEASE正式发布。新增的功能包括了：
 SCTP（實做完成）
 UFS日誌檔案系統：gjournal（实做完成）
 移植升阳所发展的DTrace（实做完成，但还未交付至CVS）
 移植升阳所发展的ZFS文件系统（实做完成）
 使用GCC4（移植完成，目前為4.2.1）
 對ARM與MIPS平台的支援
 重寫過的USB stack（實做完成，但還未交付至CVS）
 Scalable concurrent malloc實做（已經可以使用）
 ULE排程表2.0（SCHED_ULE，實做完成），並修改加強為SCHED_SMP（實做完成），在交付至CVS時的正式名稱為ULE 3.0，這個版本在8核心的機器上以sysbench MySQL測試的結果，速度比Linux 2.6快約10%（無論是使用Google的tcmalloc或是glibc+cfs）
 Linux 2.6模擬層（已經可以使用）
 Camellia Block Cipher（實做完成）
 ZFS的运行

 FreeBSD 8 
FreeBSD 8.0
FreeBSD 8.1
2010年7月24日发布FreeBSD 8.1-RELEASE，增加如下新特性：
 虚拟化方面：Xen DOM-U、VirtualBox guest及host支持、层次式jail。
 NFS：对NFSv3 GSSAPI的支持，以及试验性的NFSv4客户端和服务器。
 802.11s D3.03 wireless mesh网络，以及虚拟Access Point支持。
 ZFS不再是试验性的了。
 基于Juniper Networks提供MIPS处理器的实验性支持。
 SMP扩展性的增强，显着改善在16核心处理器系统中的性能。
 VFS加锁的重新实现，显着改善文件系统的可扩展性。
 显着缓解缓冲区溢出和内核空指针问题。
 可扩展的内核安全框架（MAC Framework）现已正式可用。
 完全更新的USB堆栈改善了性能和设备兼容性，增加了USB target模式。
FreeBSD 8.2
FreeBSD 8.3
FreeBSD 8.4

FreeBSD 9
FreeBSD 9.0
FreeBSD 9.0于2012年1月发布，是第一个9.x的FreeBSD稳定分支，有以下特性：
采用了新的安装程序bsdinstall
ZFS和NFS文件系统得到改进
升级了ATA/SATA驱动并支持AHCI
采用LLVM/Clang代替GCC
高效的SSH（HPN-SSH）
PowerPC版支持索尼的PS3

FreeBSD 9.1
FreeBSD 9.1於2012年11月發布
FreeBSD 9.2
FreeBSD 9.2於2013年10月發布
FreeBSD 9.3
FreeBSD 9.3於2014年7月發布

FreeBSD 10
FreeBSD 10.0
FreeBSD 10.0於2014年1月發布，这版本包含的重要改进包括：
在支持的平台上，clang(1)取代GCC成为了默认的系统编译器。 
系統引入了Unbound作为本地的緩存DNS服務器。 
基本系统中删除了BIND。 
使用来自NetBSD的bmake(1)取代了原有的make(1)。 
使用了新的pkg(7)作为包管理工具。 
删去了舊式的包管理工具pkg_add(1)、pkg_delete(1)，及其相關工具。 
大幅强化了支持虛擬化，新增了(8)虛擬机，以及virtio(4)和對微軟Hyper-V的原生半虛擬化支持。 
為ZFS添加了用於SSD的TRIM支持。 
為ZFS添加了高性能的LZ4壓縮算法支持。

FreeBSD 10.1
FreeBSD 10.1於2014年11月6日正式發布

FreeBSD 10.2
FreeBSD 10.2於2015年8月13日正式發布。主要改進包括：
resolvconf(8)更新至3.7.0，改进了DNS隐私保护。
ntp更新至4.2.8p3，修正了大量先前版本的问题。
新增了用于支持虚拟化环境的rc(8)脚本growfs，用于在系统首次引导时扩大根文件系统。
更新了Linux(R) ABI兼容支持，以支持Centos(TM) 6 ports.
将drm更新至Linux(R) 3.8.13，支持同时运行多个X server。
针对FreeBSD/arm平台的大量更新及改进。
多个ZFS相关性能及可靠性改进，增加了大块（1MB）支持。
GNOME版本更新到3.14.2.
KDE版本更新到4.14.3.

FreeBSD 10.3
FreeBSD 10.3於2016年3月25日正式發布

 FreeBSD 11 
FreeBSD 11.0
FreeBSD 11.0于2016年9月22日正式发布

 FreeBSD 12 
 FreeBSD 12.0 
 FreeBSD 12.1 
FreeBSD 12.1于2018年12月11日正式发布

 FreeBSD 12.2 
FreeBSD 12.2于2020年10月28日正式发布

 FreeBSD 12.3 
FreeBSD 12.3于2021年12月7日正式发布

 FreeBSD 12.4 
FreeBSD 12.4于2022年12月5日正式发布

 FreeBSD 13 
 FreeBSD 13.0 
FreeBSD 13.0于2022年4月13日正式发布
 FreeBSD 13.1 

FreeBSD 13.1于2022年5月16日正式发布

 FreeBSD 13.2 

FreeBSD 13.2于2023年4月11日正式发布

 FreeBSD 13.3 
FreeBSD 13.3于2024年3月5日正式发布

 FreeBSD 14 

 FreeBSD 14.0 
FreeBSD 14.0于2023年11月20日正式发布

root 用户的默认 shell 现在是 sh

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分支所使用的CVS Tag为.，固定称为A-CURRENT，如目前-CURRENT分支为12-CURRENT，这个版本只建议开发者使用，通常在邮件论坛上测试过觉得没有什么大问题的功能会先加到这分支。

 A.B-STABLE
 在-STABLE分支里所使用的CVS Tag为RELENG_A，如目前-STABLE分支为RELENG_10与RELENG_9。许多新功能在-CURRENT分支测试一段期间觉得没有问题后就会将该项功能逆向移植（MFC，Merge from current）回RELENG_10。

 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许可证、通用开发与散布许可证和啤酒软件许可证的程序代码，也有使用三条款和四条款的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 2002. ISBN 1-886411-74-3.
 BSD Hacks, 100 Industrial-Strength tips for BSD users and administrators. Dru Lavigne. O'Reilly, May 2004. ISBN 0-596-00679-9.
 The Complete FreeBSD, 4th Edition, Documentation from the Source. Greg Lehey. O'Reilly, April 2003 ISBN 0-596-00516-4.
 The Design and Implementation of the FreeBSD Operating System. Marshall Kirk McKusick and George V. Neville-Neil. Pearson Education. ISBN 0-201-70245-2. Expected availability August 2004.
 The FreeBSD Corporate Networkers Guide. Ted Mittelstaedt. Addison-Wesley, December 2000. Paperback, book & CD edition, 401 pages. ISBN 0-201-70481-1.
 Designing BSD Rootkits: A Introduction to Kernel Hacking. Joseph Kong, No Starch Press, US, March 29 2007. Paperback, 144 pages, ISBN 1-59327-142-5.

 IRC 
正体中文：
 Freenode上的#bsdchat

其他channel可以參考FreeBSD官方wiki的頁面。

 参见 

 BSD
 BSD许可证
 386BSD
 DragonFly BSD
 NetBSD
 OpenBSD
 Lumina 桌面环境
 Ports
 BSD小惡魔
 FreeSBIE

 参考文献 

 外部链接 

 FreeBSD官方站点
 FreeBSD官方維基
 FreeBSD中文网站
 FreeBSD中国社区站点
 www.freebsdsoftware.org
 ChinaUnix UNIX技术站点
 FreeBSD使用手册
 FreeBSD使用手冊


Category:自由操作系统
Category:计算平台
Category:ARM操作系统