# FreeBSD 2001 年 11 月状态报告

原文链接：[FreeBSD 2001 年 11 月状态报告](https://www.freebsd.org/status/report-2001-11.html)

## 引言

本月报告涉及了 10 月下半月和 11 月的活动。在这段时间内，进行了大量工作以提高系统性能和稳定性，特别是解决了 TCP 协议网络性能回退的问题，并引入了轮询网络设备驱动程序支持。关于 FreeBSD 的长期架构项目工作也在继续，特别是 5.0 版本的 KSE、NEWCARD 和 TrustedBSD 项目，同时也在清理一些长期存在的问题，如 PAM 集成。行政管理方面的变化也有记录，包括重新定义和正式化发布工程过程，以及批准了一个新的 portmgr 小组，该小组将负责管理 Ports。

强烈建议 FreeBSD 用户和开发者参加明年 2 月的 USENIX BSD 大会；预计这将是一个有用的论坛，既能了解 FreeBSD 及其正在进行的工作，也为开发者提供了更多合作机会，是个讨论和全天候开发的平台。更多信息请访问 USENIX 网站。

Robert Watson

## [ATA 项目状态报告](https://www.freebsd.org/status/report-2001-11.html#ATA-Project-Status-Report)

联系人：Søren Schmidt <<sos@FreeBSD.org>>

目前正在进行的工作是更好地支持故障镜像磁盘，并处理在新替换磁盘上的热插拔，使其自动重建。

Promise TX4 的支持现在在我的实验室中工作正常，似乎他们以不太显而易见的方式进行了 PCI-PCI 桥接。

正在制定计划，将 -current 的 ATA 驱动程序回传到 -stable 版本中，并支持热插拔等功能。现在，由于 -current 的进度延迟，我正在寻找一些方法，以便腾出时间完成这项工作，因为最近收到许多请求，我们真的不能辜负我们的客户：)。

SMART 支持正在开发中，但还没有时间表。

虽然严格来说不是 ATA，但 Promise 为我提供了几款 SuperTrak sx6000 RAID 控制器，它们支持 6 个 ATA 磁盘，并在硬件中实现 RAID0-5。我已经为 -current 和 -stable 编写了驱动程序（它是一个 I2O 设备），并且在热插拔等方面运行良好。等到更成熟时，它将进入代码树中，我和 Promise 达成了协议，决定如何处理用户态控制工具等。顺便提一下，似乎它也可以作为普通的 6 通道 PCI ATA 控制器使用，可能价格偏高……

## [设备轮询](https://www.freebsd.org/status/report-2001-11.html#Device-Polling)

链接

[带有代码和详细描述的网页](http://info.iet.unipi.it/~luigi/polling/)

联系人：Luigi Rizzo <<luigi@iet.unipi.it>>

该工作使用混合中断 - 轮询架构来处理网络设备驱动程序，显著提高了系统在稳定性和对过载的鲁棒性方面的性能，并且能够控制网络相关的内核处理和其他用户/内核任务之间的 CPU 共享。最后，你可能还会看到一个适度的性能提升（最高 20-30%，取决于机器）。

## [光纤通道支持](https://www.freebsd.org/status/report-2001-11.html#Fibre-Channel-Support)

链接

[Qlogic ISP 主机适配器软件](http://www.feral.com/isp.html)

联系人：Matthew Jacob <<mjacob@feral.com>>

正在进行的错误修复。正在进行的工作将在不久后整合，这将使跨平台字节序支持更加容易，并为 FreeBSD 版本做好准备，以便最终在 sparc64 和 PowerPC 架构上使用。

## [FreeBSD 4.5 发布工程](https://www.freebsd.org/status/report-2001-11.html#FreeBSD-4.5-Release-Engineering)

链接

[FreeBSD 发布工程](http://www.freebsd.org/internal/releng.html)

[FreeBSD 4.5 发布过程/计划](http://www.freebsd.org/internal/releng45.html)

联系人：Murray Stokely <<murray@FreeBSD.org>>

FreeBSD 4.5 的发布工程工作已开始。整个过程的概述已添加到 FreeBSD 网站上，并且附有 4.5 版本的具体计划。代码冻结计划于 12 月 20 日开始。负责回应发送至 <re@FreeBSD.org> 的 MFC 请求的团队成员是：Murray Stokely、Robert Watson 和 John Baldwin。我们为此次发布设定的多个目标之一是解决更多与安装相关的问题报告，在代码冻结期间更加保守地批准更改，并继续记录整个过程。如有关于 FreeBSD 4.5 发布活动的建议和问题，请订阅公共邮件列表 <freebsd-qa@FreeBSD.org>。

## [FreeBSD C99 & POSIX 兼容性项目](https://www.freebsd.org/status/report-2001-11.html#FreeBSD-C99-&-POSIX-Conformance-Project)

**链接**：<http://people.freebsd.org/~mike/c99/>

联系人：Mike Barcroft <<mike@FreeBSD.org>>

联系人：FreeBSD-Standards 邮件列表 <<standards@FreeBSD.org>>

FreeBSD C99 和 POSIX 兼容性项目的工作进展顺利。自上次状态报告以来，已添加了两个新头文件 `<stdint.h>` 和 `<inttypes.h>`，实现了多个新函数 atoll(3), imaxabs(3), imaxdiv(3), llabs(3), lldiv(3), strerror\_r(3), strtoimax(3), 和 strtoumax(3)，并对 assert(3) 和 printf(3) 进行了更改以支持 C99。此外，还有更多的 printf(3) 更改正在进行中，以支持剩余的 C99 和 POSIX 要求。还对 POSIX 实用程序兼容性进行了研究，并从中得出了任务列表。

在 11 月和 12 月初，还发生了几件有趣的事情。项目邮件列表已迁移到域名 FreeBSD.org，现在可以通过 <standards@FreeBSD.org> 进行访问。2001 年 12 月 6 日，IEEE 标准委员会批准了 Austin Group 规范作为 IEEE Std 1003.1-2001，这使得我们的工作变得更加重要。

## [FreeBSD in 保加利亚](https://www.freebsd.org/status/report-2001-11.html#FreeBSD-in-Bulgarian)

**链接**：

<http://www.freebsd-bg.ringlet.net/>

<http://people.freebsd.org/~roam/bg/>

联系人：Peter Pentchev <<roam@FreeBSD.org>>

“FreeBSD in Bulgarian”项目旨在为使用 FreeBSD 操作系统的保加利亚用户提供更舒适的工作环境。这包括但不限于字体、键盘映射和地区设置支持，FreeBSD 文档翻译成保加利亚语，建立本地用户组以及各种在线帮助渠道和讨论论坛，帮助保加利亚用户采用和使用 FreeBSD。

保加利亚地区设置已提交到 FreeBSD 5.0-CURRENT（并于 12 月 10 日合并到 4.x-STABLE）。已创建一个本地 CVS 仓库，用于将 FreeBSD 文档翻译成保加利亚语。

## [移植 FreeBSD NVIDIA 驱动](https://www.freebsd.org/status/report-2001-11.html#FreeBSD-NVIDIA-Driver-Port)

**链接**

[新闻与状态](ftp://ftp.jurai.net/users/winter/nvidia/NEWS)

[FTP 目录](ftp://ftp.jurai.net/users/winter/nvidia/)

联系人：Matthew N. Dodd <<mdodd@FreeBSD.org>>

该驱动程序的 Port 已完成约 90% 的功能。需要完成/实现 AGP 支持和通过 sysctl 实现的“注册表”支持。NVIDIA 正在为 FreeBSD 构建 X11 库和扩展；完成后，硬件加速的直接渲染应该能够工作。之前的驱动版本现已不可用。我计划在修复一些小错误后，发布我的代码快照。

请注意，目前开发工作是在 -CURRENT 下进行的；未来会有 -STABLE 的移植版本。

## [GEOM-通用块存储操作](https://www.freebsd.org/status/report-2001-11.html#GEOMgeneralized-block-storage-manipulation)

**链接**

[旧的概念文档](http://www.freebsd.org/~phk/Geom/)

联系人：Poul-Henning Kamp <<phk@FreeBSD.org>>

感谢 DARPA 和 NAI 提供的赞助，这个项目现在终于开始了。基础设施代码和数据结构目前正在用户空间模拟框架中形成。

## [改进 FreeBSD 启动脚本](https://www.freebsd.org/status/report-2001-11.html#Improving-FreeBSD-startup-scripts)

**链接**

[改进 FreeBSD 启动脚本](http://groups.yahoo.com/group/FreeBSD-rc/)

[Luke Mewburn 的论文](http://www.cs.rmit.edu.au/~lukem/bibliography.html)

[NetBSD 初始化与服务控制](http://www.netbsd.org/Documentation/rc/)

联系人：Doug Barton 提交者 <<DougB@FreeBSD.org>>

联系人：Gordon Tetlow 贡献者 <<gordont@gnf.org>>

<-- 来自 `http://groups.yahoo.com/group/FreeBSD-rc/` --> 该小组用于讨论 FreeBSD 中的启动脚本，主要是 `/etc/rc*` 中的脚本。主要关注点将是改进和引入 NetBSD 在该主题上的优秀工作。

<-- 来自 Gordon Tetlow 的抱怨 --> 由于项目成员的个人事务，我们未能投入大量时间将 rc.d 基础设施移植到 FreeBSD 启动框架中。

目前，系统可以启动（稍作调整）直至网络利用之前。已有一些补丁在流传（请参见 9 月的 -arch 邮件列表）。

## [Intel Gigabit 驱动：废弃 wx 支持](https://www.freebsd.org/status/report-2001-11.html#Intel-Gigabit-Driver:-wx-desupported)

**链接**

联系人：Matthew Jacob <<mjacob@feral.com>>

已弃用并从 -current 中移除 wx 驱动程序。未来不计划在 -stable 中继续支持 wx。现在有更现代、更好的驱动程序已加入源码树中。

## [jp.FreeBSD.org 每日快照项目](https://www.freebsd.org/status/report-2001-11.html#jp.FreeBSD.org-daily-SNAPSHOTs-project)

**链接**

[项目网页](http://snapshots.jp.freebsd.org/)

[匿名 FTP](ftp://snapshots.jp.freebsd.org/pub/FreeBSD/snapshots/i386/)

联系人：Makoto Matsushita <<matusita@jp.FreeBSD.org>>

`jp.FreeBSD.org` 每日快照项目是另一个提供最新 4-stable 和 5-current 发行版的快照服务器。你还可以找到可安装的 ISO 镜像、实时文件系统、带搜索引擎的 HTML 源代码等；更多详情请访问项目网页。

## [jpman 项目](https://www.freebsd.org/status/report-2001-11.html#jpman-project)

**链接**

[用户和开发者信息（日语）](http://www.jp.freebsd.org/man-jp/)

联系人：Kazuo Horikawa <<horikawa@FreeBSD.org>>

针对 4.5-RELEASE，我们继续修订 `doc/ja_JP.eucJP/man/man[1256789]` 以跟进 RELENG\_4。第 3 节的更新已完成 45%。

## [KSE](https://www.freebsd.org/status/report-2001-11.html#KSEs)

**链接**

[我的网页和链接](http://www.freebsd.org/~julian/)

[Jason Evans 的 KSE 页面](http://www.freebsd.org/~jasone/kse/)

联系人：Julian Elischer <<julian@FreeBSD.org>>

在过去的一个月里，我主要从事设计工作，而非编程。我已在 p4 树中工作，使系统在不将线程结构作为进程结构一部分的情况下运行（这是线程化的前提条件）。

## [LOMAC 状态报告](https://www.freebsd.org/status/report-2001-11.html#LOMAC-Status-Report)

**链接**

[NAI Labs 的 LOMAC 页面](http://opensource.nailabs.com/lomac/)

联系人：Brian Feldman <<green@FreeBSD.org>>

目前正在准备一个带有 LOMAC 的 FreeBSD -CURRENT 快照，利用 Perforce 的“green\_lomac”分支。很快将有一个可用的 FreeBSD 安装 CD，其中包括可以在 rc.conf 中启用 LOMAC 的功能，通过 sysinstall 提供一个合法的“开箱即用”的 FreeBSD 体验。实际的发行版本正在等待调试程序启动时的问题（特别是 xdm）。

## [网络接口克隆与模块化](https://www.freebsd.org/status/report-2001-11.html#Network-interface-cloning-and-modularity)

联系人：Brooks Davis <<brooks@FreeBSD.org>>

已从 current 合并 VLAN 克隆的支持，并将与 4.5-RELEASE 一起发布。此外，还增加了在启动时克隆接口的 rc.conf 支持。正在继续进行工作，旨在 MFC stf 和 faith 克隆，并为 ppp 设备添加克隆功能，同时增强 VLAN 模块化。

## [新的 mount(2) API](https://www.freebsd.org/status/report-2001-11.html#New-mount\(2\)-API)

**链接**：<http://www.sneakerz.org/~mux/mount.diff>

联系人：Poul-Henning Kamp <<phk@FreeBSD.org>>

联系人：Maxime Henrion <<mux@qualys.com>>

现在已有一些代码为新的 mount API 做好了准备，需进行审查和测试。如果采纳，我们可能会开始将所有文件系统以及内核中的其他代码转换为使用此 API。如果你想尝试，可以通过上述链接获取补丁。

## [NEWCARD/OLDCARD 状态报告](https://www.freebsd.org/status/report-2001-11.html#NEWCARD/OLDCARD-Status-report)

联系人：Warner Losh <<imp@FreeBSD.org>>

没有太多新进展。已修复 OLDCARD 中的一些小 bug。更多的机器现在可以正常工作。已提交更多对 ToPIC 支持的工作，但由于缺乏合适的 ToPIC 机器，作者无法进行太多工作。有几台顽固的机器仍需支持（作者拥有一台这样的机器，因此希望能够修复）。OLDCARD 和 NEWCARD 仍存在一些与 PCI 相关的问题。

NEWCARD 的工作正在加速，而 OLDCARD 的工作则在逐渐减少。NEWCARD 还需要做一些事情，包括暂停/恢复支持、通用设备到达/移除守护进程，以及希望能自动加载驱动程序。许多当前的 pccard 驱动程序仍需转换为 NEWBUS。一些芯片组问题仍然存在，ISA pccard 桥接代码与 pccbb 代码的合并也仍在进行中。

## [PAM 可插拔认证模块](https://www.freebsd.org/status/report-2001-11.html#Pluggable-Authentication-Modules)

**链接**：<http://people.freebsd.org/~des/diary/2001.html>

联系人：Mark Murray <<markm@FreeBSD.org>>

联系人：Dag-Erling Smørgrav <<des@FreeBSD.org>>

在代码方面，已经修复了许多 libpam 的 bug；编写了新的 PAM 模块 pam\_self(8)；并为从 `/etc/pam.conf` 转换到 `/etc/pam.d` 做好了准备。

在文档方面，已编写了 pam\_ssh(8)、pam\_get\_item(3) 和 pam\_set\_item(3) 的新手册页，并已开始撰写关于 PAM 的长篇文章，预计在年底前完成。

为了将 PAM 更紧密地与 FreeBSD 基本系统集成，仍然需要做大量工作，特别是对 passwd(1)、chpass(1) 等实用程序以及 ports 的集成。

## [Ports 管理团队 (portmgr)](https://www.freebsd.org/status/report-2001-11.html#Ports-Manager-Team-\(portmgr\))

**链接**

[Ports 构建集群](http://bento.freebsd.org/)

联系人：Will Andrews <<will@FreeBSD.org>>

在与核心团队讨论了关于 Ports 的状态后，我们得知他们决定将我们认定为批准 Ports 提交者的最终权威。过去几周，我们一直在致力于我们的 Ports 构建集群（请参见链接），并寻找改进该集群的方法，以便为 Ports 开发社区提供更好的支持。我们还处理了一些 Ports 中的小问题。

## [RELNOTESng](https://www.freebsd.org/status/report-2001-11.html#RELNOTESng)

**链接**

<http://people.freebsd.org/~bmah/relnotes/>

<http://www.freebsd.org/relnotes.html>

联系人：Bruce Mah <<bmah@FreeBSD.org>>

我一直在努力使硬件说明不再以 i386 为中心。随着 ia64 和 sparc 移植的成熟，这对于 -CURRENT 尤为重要；这项工作应该在 FreeBSD 4.5-RELEASE 发布前完成。鼓励有兴趣的各方审查发布文档，并向我发送反馈和补丁。

## [camcontrol 的修订 {mode, log}page 支持](https://www.freebsd.org/status/report-2001-11.html#Revised-{mode,log}page-support-for-camcontrol)

联系人：Kelly Yancey <<kbyanc@FreeBSD.org>>

正在扩展 camcontrol 的页面定义文件格式，以包括 modepage 和 logpage 定义；为 camcontrol 添加了查询和重置日志页面参数的支持。正在考虑是否可能包括对诊断和重要产品数据页面的支持，但这超出了当前项目的范围。新的页面定义文件格式包括基于 SCSI INQUIRY 结果有条件地包含页面定义的能力，从而也可以描述厂商特定的页面。目前工作完成约 80%。

## [SMPng 状态报告](https://www.freebsd.org/status/report-2001-11.html#SMPng-Status-Report)

**链接**

联系人：John Baldwin <<jhb@FreeBSD.org>>

联系人：<<smp@FreeBSD.org>>

十月的工作比十一月忙碌得多。在十月，Peter Wemm 最终完成了一个雄心勃勃的任务：解开 NFS 中的所有宏，并将其拆分为客户端和服务器两个部分。Andrew Reiter 还提交了一些代码，向任务队列中添加了锁，负责 TTY 子系统的人员设计了他们将要使用的锁定策略。还为用户陷阱和系统调用添加了每线程的 ucred 引用。待必要的进程 ucred 引用的锁定被提交，这将允许内核代码访问当前线程的凭证，而无需锁，同时确保线程在系统调用生命周期内保持一致的凭证。不幸的是，十一月只看到了一些小的 bug 修复，但十二月显然会是一个非常活跃的月份，因此下个月的报告应该会更加有趣。

在非编码方面，SMPng 项目的官方网站已从旧位置迁移到上面的新位置。此外，我已经完成了一篇关于 SMPng 项目的论文，打算在 BSDCon 上进行演讲。该论文将会在会议论文集中发布，并将在会议后在线提供。

## [mb\_alloc 状态报告 (-CURRENT mbuf 分配器)](https://www.freebsd.org/status/report-2001-11.html#Status-Report:-mb_alloc-\(-CURRENT-mbuf-allocator\))

**链接**

[代码转储和初步结果](http://www.freebsd.org/~bmilekic/code/mb_alloc/)

联系人：Bosko Milekic <<bmilekic@FreeBSD.org>>

目前正在与 Bruce (bde) 一起重构 mbuf 代码。下一步将是为了更好的性能，如最初计划的那样，不为通过 malloc(9) 单独分配的集群设置引用计数。相反，利用每个集群末尾的一些 \[未使用的] 空间作为计数器；因为这些空间完全未使用，而且由于引用计数器 <--> mbuf 集群是一对一的关系，这样做最为方便。

## [TCP 性能改进](https://www.freebsd.org/status/report-2001-11.html#TCP-Performance-Improvements)

**链接**

联系人：Matthew Dillon <<dillon@FreeBSD.org>>

在过去几个版本中，影响吞吐量的几个严重 TCP bug 被悄然引入系统，现在已经修复。TCP 性能应该在许多情况下得到极大提升，包括 TCP/NFS。

## [TrustedBSD 审计](https://www.freebsd.org/status/report-2001-11.html#TrustedBSD-Audit)

链接

[TrustedBSD 项目主页](http://www.trustedbsd.org/)

联系人：John Doe <<trustedbsd-audit@trustedbsd.org>>

目前，我们正在探索多种策略，以了解实现和性能问题，以便设计出一个稳健的方案。我们的主要目标之一是使用标准化的系统接口，无论是 POSIX.1e 还是其他标准，因为正如人们所说，“标准之所以伟大，是因为你有很多可以选择的标准”。希望在下个月或更短的时间内，我们将在 Perforce 上填充一个经过一致协议的框架，准备进行严肃的最终工作。

## [TrustedBSD 项目](https://www.freebsd.org/status/report-2001-11.html#TrustedBSD-Project)

**链接**

[TrustedBSD 主页](http://www.trustedbsd.org/)

联系人：Robert Watson <<rwatson@FreeBSD.org>>

TrustedBSD 项目本月继续专注于细粒度能力和强制访问控制的开发。内核对能力的支持基本完成，正在努力将用户空间应用程序适配为使用能力。登录过程已经更新，允许用户根据 /etc/capabilities 文件运行时获得额外的权限。MAC 实现工作也在积极进行，改进了对 IPC 对象标签的支持，包括更好的网络堆栈集成。两个开发树已经更新，以适应最近与 KSE 相关的开发，并且能够更好地运行在细粒度 SMP 内核中。与审计相关的初步工作出现在单独的条目中。

TrustedBSD 源代码的开发已经转移到 FreeBSD 的 Perforce 仓库，以便更好地管理源代码。因此，TrustedBSD 的开发树将通过 cvsup 提供。

## [UDF 文件系统](https://www.freebsd.org/status/report-2001-11.html#UDF-Filesystem)

**链接**

[UDF 文件系统](http://people.freebsd.org/~scottl/udf)

联系人：Scott Long <<scottl@FreeBSD.org>>

自上次报告以来，UDF 文件系统取得了一些进展。现在可以读取 DVD-ROM 中的文件（根据一些报告，读取速度很快），并且已经有初步支持从 CD-RW 媒体读取。CD-RW 支持仅针对使用 Adaptec/Roxio DirectCD 创建的 CD 进行了测试，仍然需要进行大量测试。待此支持稳定，我计划将其提交到树中，并开始使文件系统可写的工作。

## [网站转换为 XML](https://www.freebsd.org/status/report-2001-11.html#Web-site-conversion-to-XML)

联系人：Nik Clayton <<nik@FreeBSD.org>>

网站转换为使用简单 XML 模式标记的页面的工作正在（缓慢）进行，然后通过 XSLT 样式表生成 HTML 和其他输出格式。到目前为止的工作可以通过执行 `cvs checkout -r XML_XSL_XP www` 来进行测试，然后执行 `cd www/en; make index.html`。查看相同目录中的 `index.page` 文件以查看源 XML。`index.page` 的 CVS 日志包含详细的说明，解释了如何从其早期版本生成 index.page。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://book.bsdcn.org/status/2001/11.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
