版本与历史[编辑]
FreeBSD初期历史[编辑]
FreeBSD的发展始于1993年,取源于386BSD。[7]然而,因为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月[8]。FreeBSD 4也是FreeBSD最长寿的主版本。在FreeBSD 4所发展出来的kqueue也被移植到各种不同BSD平台。
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.3在2008年1月18日发布[9],这个版本主要针对软件的更新,并加入lagg(可以对多张网卡操作)的支持,并引入重新改写的unionfs。FreeBSD 6.4在2008年11月28日发行[10]。
FreeBSD 7[编辑]
FreeBSD 7为目前第二个-STABLE发展版本,在2007年6月19日进入发布程序[11],2008年2月27日7.0-RELEASE正式发布。2010年03月23日FreeBSD 7.3-RELEASE正式发布[12]。新增的功能包括了:
- SCTP(实现完成)[13]
- 日志式UFS文件系统:gjournal(实现完成)[14]
- 移植升阳所发展的DTrace(实现完成,但还未交付至CVS)
- 移植升阳所发展的ZFS文件系统(实现完成)[15]
- 使用GCC4(移植完成,目前为4.2.1)[16]
- 对ARM与MIPS平台的支持
- 重写过的USB stack(实现完成,但还未交付至CVS)
- Scalable concurrent malloc实现(已经可以使用)[17] [18]
- ULE调度表2.0(SCHED_ULE,实现完成)[19],并修改加强为SCHED_SMP(实现完成),在交付至CVS时的正式名称为ULE 3.0[20],这个版本在8核心的机器上以sysbench MySQL测试的结果,速度上比Linux 2.6快大约10%(无论是使用Google的tcmalloc或是glibc+cfs)[21]
- Linux 2.6模拟层(已经可以使用)
- Camellia Block Cipher(实现完成)[22] [23]
- ZFS的运行
FreeBSD 8[编辑]
2009年11月27日发布,2010年07月24日发布FreeBSD 8.1-RELEASE, [24] 增加如下新特性:[25]
- 虚拟化方面: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 9[编辑]
-
FreeBSD 9.0
[31]
FreeBSD 9.0于2012年1月发布[32],该版本是第一个9.x的FreeBSD稳定分支。该版本具有以下特性: