文章插图
FreeBSD是一种类Unix操作系统,是由经过BSD、386BSD和4.4BSD发展而来的Unix的一个重要分支 。它运行在Intel x86 family兼容处理器(包含微Xbox)、DEC Alpha、Sun微系统的UltraSPARC、Itanium (IA-64)、AMD64、PowerPC和NEC PC-98处理器上 。对ARM和MIPS架构的支持正在开发中 。FreeBSD是以一个完善的操作系统的定位来做开发 。其核心、驱动程序以及所有的使用(Userland)应用程序(比方说是Shell)均由同一原始码协作版本系统保存(CVS) 。相较于另一知名的的操作系统Linux,其核心为一组开发人员设计,而使用者应用程序则交由他人开发(例如GNU计划),最后再由其它团体整合并包装成Linux套件 。
许可协议
FreeBSD在BSD许可证下发布,允许任何人在保留版权和许可协议信息的前提下随意使用和发行 。BSD许可协议并不限制将FreeBSD的源代码在另一个协议下发行,因此商业公司可以自由地将FreeBSD代码融入它们的产品之中去 。
发展团队
FreeBSD采用的Core Team的方式来发展 。只有Core Team的成员可以修改程序代码,其它的使用者只能够送出建议或是他们修改过的程序给Core Team由他们决定要不要将这功能放进FreeBSD 。这种方式与Linux是很不一样 。
FreeBSD初期历史
FreeBSD 的发展始于1993年,取源于386BSD 。然而,因为386BSD原始码的合理性受到质疑以及Novell(当时UNIX的版权拥有者)与柏克莱接连而来的诉讼,FreeBSD在1995年一月发布的 2.0-RELEASE 中以柏克莱加州大学的4.4BSD-Lite Release 全面改写,FreeBSD 中有更多 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
最后一个版本的 FreeBSD 5 是 5.5,是在 2006年五月发行的 。FreeBSD 5 最大的改变在于改善底层核心 Locking 机制,使得多 CPU 的效率会比以前好 。另外一个重大的改变在于支持 m:n 执行绪的 KSE(Kernel ScheduledEntities) 。这个版本的许多贡献是由于商业化版本的BSD OS团队的支持 。
FreeBSD 6
FreeBSD 6 为目前的 -STABLE 发展版本,FreeBSD 6.2 在 2007年1月15日发行,这个版本包括了许多 SMP 与执行绪的最佳化,以及对于 802.11 的改进 。
FreeBSD 7
FreeBSD 7 为目前的 -CURRENT 发展版本,预定在 2007年 要进入 RELEASE 程序,新增的
功能包括了:
? SCTP(实做完成)
? 日志式档案系统(实做完成)
? 移植升阳所发展的DTrace(实做完成,但还未交付至 CVS)
? 移植升阳所发展的ZFS档案系统(实做完成,但还未交付至 CVS)
命名规则
? A-CURRENT
【FreeBSD】: 在 -CURRENT 分支所使用的 CVS Tag 为 .,固定被称为 A-CURRENT,如目前的 -CURRENT 分支为 7-CURRENT,这个版本只建议开发者使用,通常在邮件论坛上测试过觉得没有什么大问题的功能会先被加到这个分支里 。
? A.B-STABLE
: 在 -STABLE 分支里所使用的 CVS Tag 为 RELENG_A,如目前的 -STABLE 分支为 RELENG_6 与 RELENG_5 。许多新的功能在 -CURRENT 分支测试一段期间觉得没有问题后就会将该项功能匿向移植(MFC,Merge from current)回 RELENG_6 。
? 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 所支持的硬件较 Linux 为少 。安装前请参考 FreeBSD 网站上 Release Information http://www.freebsd.org/releases/ 里要安装版本的 Hardware Notes 。