delphij's Chaos

选择chaos这个词是因为~~实在很难找到一个更合适的词来形容这儿了……

19 Jun 2007

FreeBSD 7.0-STABLE冻结正式开始

今天Ken Smith正式宣布了FreeBSD 7.0(目前是7.0-CURRENT)代码冻结的开始。代码冻结是-CURRENT到-STABLE开发线转换的重要步骤,按目前的进度,7.0-RELEASE将会在今年9月左右正式发布。

经历了两年多的开发,FreeBSD 7.0-RELEASE将是FreeBSD开发团队采取新改进的发布流程发布的第一个发行版本。在过去几年中,FreeBSD的奇数版本(3.x, 5.x)系列由于引入了过多革命性的更改,而使得其发布一再延期;过早地划定-STABLE,曾经给FreeBSD 3.x系列带来了深远的不利影响;而延期两年将5.x系列标注为-STABLE,则令这个-CURRENT分支容纳了太多的大规模变动,导致这个系列中包含了许多不够成熟的代码。

FreeBSD 6.0-RELEASE,从开发角度而言是一个类似4.x和2.x的、依时间计划,而非功能数量划定的稳定版本。FreeBSD的交付工程团队花费了大量时间和精力对这个版本进行了长时间的代码复审和测试工作,通过在接口用到的数据结构中为新功能留出空位、将内核数据结构通过函数库而不是直接copyout的方式提供给用户态程序等多种方法,成功地避免了一系列不必要的ABI/API变动。6.x系列发布近2年以来,只发生了1处基本上不影响第三方程序(仅限实现了特定功能的文件系统模块)的内核接口变动,这使得提供预编译版本软件的软件开发商,不再需要紧跟最新的发行版本而制作不同的预编译版本。

FreeBSD 7.0-RELEASE将是FreeBSD历史上第一个依时间计划,而不是首先满足功能数量的奇数主版本号发行版本。为了达到这一目标,FreeBSD的-CURRENT分支史无前例地在1月即开始了「代码变动缓行」(code slush)阶段,在过去的6个月中,开发过程主要强调了修正问题和对代码进行性能优化。随着代码冻结的开始,开发团队将进一步集中精力进行问题修正(包括历史PR中报告的问题、新增的回归问题等等)。

FreeBSD 7.0-RELEASE中值得关注的变动包括:

  • 大幅改进的多处理器支持。随着6.x系列SMPng项目的正式结束,新的改进主要是性能优化以及对调度器的可伸缩性改良。
  • 大幅改进的网络协议栈,特别是TCP/IP性能,以及对主流千/万兆网卡的TCP Checksum Offload (TSO/TOE)支持。
  • 默认采用1:1线程库,使得为其他操作系统开发的应用程序能够更好地运行。
  • 默认内核中取消了对4.3BSD的兼容支持,这一变动将带来小幅性能提升。
  • 默认内核启用了基于OpenBSM的审计支持。
  • 新增了Linux 2.6系列兼容支持(默认未启用)。
  • 新增了一系列用于捕捉内核问题的附加工具,使开发人员能够更有效地发现隐藏的问题。
  • 默认内核启用了SMP支持。
  • 对无线网卡、声卡,以及新硬件的驱动支持和改进。
  • 新增了SCTP协议支持。(默认内核启用)
  • CAM子系统(主要与存储有关)转换为MPSAFE。
  • 新增了ZFS文件系统(试验性功能)
  • 新增了TMPFS文件系统(试验性功能)
  • gcc升级至4.2.0版本。
  • 其他内核和userland变动、X.org 7.2等。