# FreeBSD 2001 年 7 月状态报告

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

## 引言

上月的状态报告显著地取得了巨大成功：我收到了无数附带评论、问题和建议的电子邮件。我已尽力在本月的报告中融入这些建议，解决这些来自邮件中的问题，这份报告捕捉到了 FreeBSD 上月活动更全面的概览。同上月的报告不同，本次报告更好地反映了非开发活动，如正在进行的会议规划、文档编写等。我希望该趋势在后续的几个月中能得到改善。

关于会议的主题，我希望将来能更多地报告与 FreeBSD 相关的出版活动，包括与 FreeBSD 相关的在线期刊文章、纸质期刊、会议论文等。同样，我也有兴趣包括与 FreeBSD 相关的征文通知。我借此机会推广即将在 11 月举行的 BSDCon Europe 会议（该会议的状态已包含在本报告中）以及 USENIX 主办的 2025 年 2 月的 BSD 大会。你的参与和提交使这些会议成为可能，并促进了 FreeBSD 作为新研究、功能开发和应用产品平台的推广。FreeBSD 上进行的工作质量非常高，我们需要让更多人知道。

## 后续版本提交要求

下月，我们将保持相同的提交要求：报告应为一到两段，通过电子邮件发送，并与本月的条目布局大致相同（项目、联系人、网址和正文）。我将在截止日期前一周再次发送提醒，并提供更具体的说明。我希望改进的一个领域是协调较大项目的相关状态报告，例如新的架构工作或平台移植。这甚至可能会促进这些项目内的沟通 :-)。我希望继续专注于吸引更广阔的团体及其活动，包括安全官、发布工程师和核心团队。

*-- Robert Watson <* [*rwatson@FreeBSD.org*](mailto:rwatson@FreeBSD.org) *>*

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

联系人：Mike Smith <<msmith@FreeBSD.org>>

ACPI（高级配置和电源接口）是一项行业标准，其取代了 APM、Intel MPS、PnPBIOS 以及其他 Intel PC 固件接口标准。它也用于 IA64 平台。更多关于 ACPI 的信息请访问：

<http://developer.intel.com/technology/iapc/acpi>

FreeBSD 的 ACPI 子系统项目主要基于 Intel ACPI 组件架构。本报告概述了该项目的当前状态；后续更新将专注于变更。

尽管偶尔还会发现一些 bug，已完全集成 Intel ACPI 解释器。

* PCI 总线检测和中断路由功能正常，但电源管理的交互需要在核心 PCI 子系统上进行工作。
* 已实现非 PCI 主板外设探测，但在某些设备上可能存在问题。
* 已实现电源策略管理器。初步的策略管理器有两种模式：“performance”（性能）和“economy”（节能）。
* 集成 CPU 速度调节与平台电源策略。
* 已实现系统热管理，但风扇控制可能存在问题。
* 实现了推按钮挂起和关机功能。
* 支持使用 ACPI 计时器的系统时间管理。
* 已实现电池状态监控。

以下领域的工作仍在进行中：

* 系统挂起和恢复。
* 时间管理精度/可靠性。
* 电源配置文件。
* 用户级管理接口。
* PCI 电源管理。
* 修复 Bug。

## [ARM 平台](https://www.freebsd.org/status/report-2001-07.html#ARM-Port)

联系人：Stephane Potvin <<septovin@videotron.ca>>

ARM 平台目前进展良好。能够编译内核，并且启动到了这样一个阶段：在尝试初始化网络子系统时发生 panic。目前的参考平台是 Netwinder，但由于许多人对更广泛可用的平台感兴趣，这一平台可能会有所变化。在进一步推进之前，需要完成的工作包括添加 footbridge、定时器和中断支持。pmap 模块尚未完成。

## [BIND 9](https://www.freebsd.org/status/report-2001-07.html#BIND-9)

联系人：Doug Barton <<dougb@FreeBSD.org>>

联系人：Jeroen Ruigrok <<asmodai@FreeBSD.org>>

在最终导入 BIND 8.2.4 后，终于到了考虑将 BIND 9 导入到 CURRENT 中的时候。当前的计划是将其同 BIND 8 一道导入，以便人们可以在导入问题解决并进行一些测试之前，选择使用任一版本。

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

联系人：Eric Melville <<eric@FreeBSD.org>>

尽管改了新名字，但由于在 BSDi 和风河之间搬迁时的资源可用性问题，以及开发者的其他工作，该项目处于停滞状态。待尘埃落定，项目应有正式的邮件列表，并恢复到活跃状态。

## [BSDCon Europe 大会](https://www.freebsd.org/status/report-2001-07.html#BSDCon-Europe)

链接：<http://www.bsdconeurope.org/>

联系人：Paul Richards <<paul@freebsd-services.co.uk>>

联系人：Josef Karthauser <<joe@tao.org.uk>>

将于 2001 年 11 月 9 日至 11 日，在英国布赖顿的 Thistle 酒店举行会议。

会议的目的是为所有 BSD 衍生操作系统的欧洲用户和开发者提供交流平台。会议的形式将与其他会议类似，周六和周日将有 2 天的技术会议。

我们将在本月底敲定会议日程，所有有意做演讲的人应尽快联系我们。演讲内容没有限制；若以前做过，我们仍然可能希望将其呈现给欧洲观众，并且我们不对演讲内容做任何要求，因此演讲者可以在其他会议中再次展示这些内容。

我们仍在寻找赞助商。

在第一周我们就收到了 80 份预注册，因此预计参与人数可令人满意。

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

联系人：Matthew Jacob <<mjacob@FreeBSD.org>>

联系人：Justin Gibbs <<gibbs@FreeBSD.org>>

新的 CAM 传输代码开始在更多的 HBA 中得到支持，并且正在进行改进，以实现每个协议的预期支持。至今尚未在 CAM 上开展任何 SMPng 相关工作。这一工作目前的优先级相当高。

## [文档项目](https://www.freebsd.org/status/report-2001-07.html#Documentation-Project)

链接：<http://www.freebsd.org/docs.html>

链接：<http://www.freebsd.org/docproj/index.html>

联系人：文档项目 <<doc@FreeBSD.org>>

工作继续进行（在 WRS 的大力支持下），旨在更新手册，为第二版印刷版做好准备。最近这一领域的活动非常活跃，待办事项列表参见：[http://www.FreeBSD.org/docproj/handbook.html](http://www.freebsd.org/docproj/handbook.html)

Dima 和其他人做得非常出色，及时跟进了与文档项目相关的 PR。

开发者手册， [http://www.FreeBSD.org/doc/en\_US.ISO8859-1/books/developers-handbook/index.html](http://www.freebsd.org/doc/en_US.ISO8859-1/books/developers-handbook/index.html) 已经发布了一年；它包含了大量有用的内容，供开发人员在 FreeBSD 上进行开发或为 FreeBSD 进行开发。像往常一样，我们始终需要更多的参与，不仅是对开发者手册的贡献，还有 FreeBSD 文档全集的贡献。

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

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

基本设计没有变化，该项目目前主要处于继续加固和测试用例开发的阶段。下一个主要特性将是完全整合到新的 CAM TRAN 代码中，并全面支持即插即用的设备添加和移除。目前唯一支持的 HBA 是 QLogic。计划在 10 月之前为 QLogic 系列提供 2300（2Gb）和 IP 支持。

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

**链接**：<http://www.freebsd.org/java/>

联系人：Greg Lewis <<glewis@eyesbeyond.com>>

在过去一个月，FreeBSD Java 项目的主要进展是发布了 JDK 1.3.1 的初始“仅开发者”补丁集。自该版本发布以来，已经取得了显著进展，开发出了一款更加可用的 alpha 阶段补丁集，预计将转化为 port，类似于当前的 JDK 1.2.2 补丁集。这个新补丁集将包含多个 bug 修复，基本上将 JDK 带到一个适合早期使用者的工作状态，并实现了基于 FreeBSD 用户空间 pthreads 的“本地线程”初步实现。不幸的是，这个实现并非完全功能性，但仍包含其中，期望能够让更多的开发者关注这段代码（尤其是有经验的 pthread 程序员）。我们还要欢迎 Fuyuhiko Maruyama 先生成为新的提交者，因其提供了太多优秀的补丁，而受到了这项“惩罚”。

## [FreeBSD 每月开发状态报告](https://www.freebsd.org/status/report-2001-07.html#FreeBSD-Monthly-Development-Status-Reports)

**链接** L：<http://www.freebsd.org/news/status/>

联系人：Robert Watson <[rwatson@FreeBSD.org>](mailto:rwatson@FreeBSD.org%3E)>

联系人：Chris Costello <<chris@FreeBSD.org>>

FreeBSD 每月开发状态报告旨在通过提供每个项目的概况和其状态，帮助用户和开发者了解 FreeBSD 项目的最新动态。撰写本文时，正在准备 2001 年 7 月的状态报告，且即将发布。FreeBSD 网站现在有一个状态报告部分，当 7 月的报告发布时，该部分将更新并包含 HTML 版本的链接。

## [FreeBSD/sparc64 内核加载器](https://www.freebsd.org/status/report-2001-07.html#FreeBSD/sparc64-kernel-loader)

联系人：Robert Drehmel <<robert@ferrari.de>>

sparc64 加载器功能已经足够，能够使用现有的 openfirmware 库从 UFS 文件系统启动 ELF 二进制文件，已经修订该库，来完美地适用于 32 位和 64 位架构。接下来将实现对网路启动和模块的支持，随后是更好的 openfirmware 映射策略。

## [内核调试器中的硬件监视点](https://www.freebsd.org/status/report-2001-07.html#Hardware-Watchpoints-in-the-Kernel-Debugger)

联系人：Brian Dean <<bsd@FreeBSD.org>>

现在可以在 IA32（i386）架构上为内核调试使用硬件监视点。现在可以使用新的 ddb 命令“hwatch”来设置硬件监视点，该命令类似于现有的“watch”命令。或者，如果需要更大的灵活性，可以使用 ddb 的“set”命令直接访问调试寄存器，从而完全控制处理器硬件调试功能。硬件监视点非常有用，可以帮助跟踪那些难以捉摸的内核内存覆盖错误。硬件监视点甚至可以用于在 ROM 中设置代码断点，这在嵌入式系统中常见。

## [ifconfig 支持 IEEE 802.11 无线设备](https://www.freebsd.org/status/report-2001-07.html#ifconfig-support-for-IEEE-802.11-wireless-devices)

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

通过 ifconfig 配置 IEEE 802.11 无线设备的功能已经提交到 -current 和 -stable 分支。它拥有配置无线设备所需的大部分功能。目前正在开发缺少的功能，包括集成 DHCP 支持，使得只需在 `/etc/rc.conf` 中添加一项条目即可完全配置 DHCP 网络上的无线设备，以及设置 CTS/RTS 阈值。目前，驱动程序 an(4) 和 wi(4) 在 -current 和 -stable 中得到了支持，而设备 awi(4) 则在 -current 中得到了支持。接下来将进行更多的工作，以支持跳频设备，如 ray(4)。

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

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

jailNG 是对流行的 jail(8) 服务的从 0 重写，重点改进了管理功能，并提供了更细粒度的可配置性。已编写了初步原型，基于明确命名和配置的 jail，当前正在进行用户空间集成工作。目前，尚不清楚该功能是否将在 5.0-RELEASE 或 5.1-RELEASE 中发布。

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

**链接**：<http://www.jp.freebsd.org/man-jp/>

联系人：Japanese Man Page Project <<man-jp@jp.FreeBSD.org>>

自 1996 年起，我们一直致力于提供日文版本的 FreeBSD 在线手册。目前，基于 RELENG\_4 的手册已翻译完成。翻译版本存放在 `doc/ja_JP.eucJP/man`，并通过 `ports/japanese/man-doc` 供用户使用。我们还讨论了相关的命令（例如 `ports/japanese/man` 和 `ports/japanese/groff`）。

## [内核峰会 - Usenix 2001](https://www.freebsd.org/status/report-2001-07.html#Kernel-SummitUsenix-2001)

**链接**：<http://www.freebsd.org/~jhb/summit/usenix01/>

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

于 2001 年 6 月 29-30 日，在马萨诸塞州波士顿的 Usenix 2001 年度技术大会上举行了首届 FreeBSD 内核峰会。网站上发布了多种文件的链接。

注：我（jhb）仍在撰写会议的一般总结。完成后将发布在这里，并通过邮件发送到 -hackers 邮件列表。

## [KSE 线程化内核](https://www.freebsd.org/status/report-2001-07.html#KSE-threading-the-kernel)

**链接**：<http://people.freebsd.org/~jasone/kse/>

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

我正在对内核进行多线程改造。到目前为止，我已经相对于今天的 -current 提交了 400 多 KB 的 diff（我保持我的代码树在发生更改时更新，而不是等到最后一次大更新时再更新）。

我已拆分 proc 结构，并正在修改大部分内核，将线程标识符传递而非 proc 结构。

迄今为止，以下接口已进行更改：

* 设备 devsw 条目
* vfs 调用
* 互斥锁
* 事件
* 系统调用
* 调度器
* 以及其他许多中间代码。

我仍然有很多工作要做，包括大量的“机械重复编辑”（例如 `s/struct` `proc` `*p/struct` `thread` `*td/`），通常我会修改一些项目，然后修复在尝试编译时出错的部分。我想将其提交到一个分支，以便其他人可以帮助编辑，但我还没有找到最佳的提交方式。

我已经实现了对调度程序的更改，使得 KSE 被调度而不是进程，线程休眠，让 KSE 获取新的线程。但这个功能还远未完成（事实上，它还不能编译） :-)

请注意，我尚未更新上面列出的文档……在所有提到“ksec”或“KSE-context”的地方，代码使用的是“thread”一词。待 Jason 发给我源代码后，我将尽快更新。

## [移植 NetBSD rc.d](https://www.freebsd.org/status/report-2001-07.html#NetBSD-rc.d-port)

**链接**: <http://groups.yahoo.com/group/FreeBSD-rc>

联系人：Doug Barton <<dougb@FreeBSD.org>>

联系人：Sheldon Hearn <<sheldonh@FreeBSD.org>>

NetBSD rc.d 的移植目标是通过将 Luke Mewburn 的 rc.d 工作从 NetBSD 移植到 FreeBSD，来改进 FreeBSD 启动过程。这将使 FreeBSD 在启动和关闭时依赖关系得到优化，同时保持传统的、广受喜爱的单体配置文件系统。

可以在此找到 Luke Mewburn 在 NetBSD 上实施的系统的 USENIX 论文和幻灯片：

<http://groups.yahoo.com/group/FreeBSD-rc/message/3>

感兴趣的各方在加入讨论列表之前，建议先研究这些材料。

目前的想法是采取一种方案，确保 NetBSD rc.d 系统与移植到 FreeBSD 的系统之间的差异保持最小。这可能会涉及与 Luke 就系统中被识别为潜在改进领域的部分进行讨论。

## [Netgraph ATM](https://www.freebsd.org/status/report-2001-07.html#Netgraph-ATM)

联系人：Hartmut Brandt <<brandt@fokus.gmd.de>>

该项目的目标是通过 netgraph(4) 框架实现 ATM 信令和其他 ATM 协议。这应该为在 FreeBSD 上使用 ATM 提供一款易于扩展的架构。目前，完整的 UNI4.0 栈（除了 LIJ 功能）已经实现，包括 ILMI 和 ATM Forum API 的初始版本。还实现了 ATM 上的经典 IP（Classical IP over ATM）。已经为 Fore PCA200E 和 Fore HE-155 卡实现了驱动程序。

## [网络设备克隆](https://www.freebsd.org/status/report-2001-07.html#network-device-cloning)

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

已从 NetBSD 移植了网络设备克隆支持。可按需分配虚拟设备，而非在编译时静态分配。我们的实现与 NetBSD 的实现略有不同，我们可以创建特定设备（如 gif0）以及任意设备，而不仅仅是仅特定设备。目前，树中唯一已转换的设备是 gif(4) 设备，已在 -current 和 -stable 中完成转换。正在进行的工作包括将所有其他虚拟网络设备转换，并对 faith、stf 和 vlan 接口进行修改。通常，此转换会伴随着适当的修改，使这些设备完全模块化。

## [下一代 POSIX 线程 (NGPT)](https://www.freebsd.org/status/report-2001-07.html#Next-Generation-POSIX-threads-\(NGPT\))

**链接**：<http://oss.software.ibm.com/developerworks/opensource/pthreads/>

联系人：Arun Sharma <<arun@sharma.dhs.org>>

#### 将 NGPT（下一代 pthreads）移植到 FreeBSD

NGPT 是由 IBM 工程师主导的一个项目，旨在实现 MxN 线程（也称为多用户线程到一个内核线程映射）在 Linux 上的实现。我已经将其移植到 FreeBSD，并使用了 rfork(2)。

可以在此找到移植的版本：[http://www.FreeBSD.org/cgi/query-pr.cgi?pr=29239](http://www.freebsd.org/cgi/query-pr.cgi?pr=29239)

## [更新 OLDCARD 来支持 PCI 卡](https://www.freebsd.org/status/report-2001-07.html#OLDCARD-upgrade-to-support-PCI-cards)

**链接**：<http://people.freebsd.org/~imp/oldcard-status.html>

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

**资金支持：Monzoon Networking, LLC**

本月是集中和整合的月份。许多来自当前版本的更改已经迁移到稳定版本。我改善了电源支持、挂起/恢复交互、硬件中断处理，并增强了在运行 Windows/NEWCARD 后的兼容性。中断路由仍然是完成 MFC 的锁定问题。当前的补丁可以通过上述网站获取。我正在争取在 4.4 版本发布之前完成此工作。

## [开放运行时平台（ORP）](https://www.freebsd.org/status/report-2001-07.html#Open-Runtime-Platform-\(ORP\))

**链接**：<http://www.intel.com/research/mrl/orp/>

联系人：Arun Sharma <<arun@sharmas.dhs.org>>

联系人：eGroups: ORP <<orp@egroups.com>>

有关 Intel ORP - 可以在此找到 BSD 许可的 Java 虚拟机的信息：<http://www.intel.com/research/mrl/orp/>

已经测试过的 FreeBSD 补丁可以与 NGPT 一起使用，并已提交到 ORP 项目。可以在这里获取补丁：<http://www.sharma-home.net/~adsharma/projects/orp/orp-freebsd-1.0.5.patch.txt.gz>

为了使其与 FreeBSD 的默认（用户级）pthread 实现兼容，还需要解决一些问题。

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

**链接**：<http://openpackages.org/>

OpenPackages 旨在创建一款软件补丁打包系统，使得无需对操作系统进行依赖性更改，就可以在尽可能多的平台上安装第三方程序。最初 OpenPackages 基于 BSD ports 系统的代码，并经过了来自不同背景的开发者的改进和扩展。

OpenPackages 项目很高兴发布 Milestone 2 代码库。此发布包含一个可用的包构建系统和一个测试包。目前已知 OP 可以在以下操作系统的某些版本上构建：FreeBSD、HP/UX、IRIX、Linux（Debian、Red Hat、Suse、Mandrake、TurboLinux、Caldera 等）、NetBSD、OpenBSD、Solaris

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

联系人：Mark R V Murray <<mark@grondar.za>>

（首次报告）

对 FreeBSD PAM 模块进行大规模清理和扩展。将为所有模块撰写风格一致（使用 style(9)）的文档，并尽可能在功能上做到完整。目前大部分已完成。

## [将 ppp 移植到 Hurd 和 Linux](https://www.freebsd.org/status/report-2001-07.html#Porting-ppp-to-hurd-&-linux)

联系人：Brian Somers <<brian@Awfulhak.org>>

已经提交了补丁，使 ppp 在 Hurd 和大部分 Linux 系统上可用。但需要解决 GPL 版权相关问题。

## [移植 PowerPC](https://www.freebsd.org/status/report-2001-07.html#PowerPC-Port)

联系人：Benno Rice <<benno@FreeBSD.org>>

我们现在已经具备了设备支持的基础。我们为 OpenFirmware 机器提供了驱动程序 nexus，并支持 Apple UniNorth PCI/AGP 主桥。我目前正在努力使 USB 硬件工作，以便能够实现一个独立于 OpenFirmware 的控制台驱动程序，之后我将尝试让系统通过 NFS 进入单用户模式。

## [PPP IPv6 支持](https://www.freebsd.org/status/report-2001-07.html#PPP-IPv6-Support)

联系人：Brian Somers <<brian@freebsd-services.com>>

工作已开始，但尚未提交。已抽象化 ppp 使用的 NCP 地址，并为 IPv6 地址的过滤器集添加了初步支持。NCP 协商尚未开始。

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

联系人：Brian Somers <<brian@freebsd-services.com>>

在生产环境中 pppoed 功能正常。大部分工作已完成并提交。额外工作包括添加选项 `-l` ，其中 `-l label` 是 `-e exec ppp -direct label` 的缩写，并调查为什么遗留下来了恶意子进程。

## [PRFW - FreeBSD 内核中的钩子](https://www.freebsd.org/status/report-2001-07.html#PRFWHooks-within-the-FreeBSD-kernel)

联系人：Evan Sarmiento <<ems@open-root.org>>

PRFW 是我集成到 FreeBSD 内核中的一组钩子。这使得模块能够以更少的开销轻松拦截系统调用。它还支持按进程 ID 限制，这意味着一个进程可能无法以某种方式使用 X 函数，但另一个进程可以。

进展：我曾在 4.3-RELEASE 中工作，但现在正在将其合并到当前版本中。我将在大约一周后向邮件列表提交补丁。

## [问题报告](https://www.freebsd.org/status/report-2001-07.html#Problem-Reports)

**链接**：<http://phk.freebsd.dk/Gnats/>

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

得益于多位杰出的个人贡献，我们现在开放的 bug 报告数量已降至 2300 以下。这意味着我们已经恢复到 2000 年 3 月左右的水平。

## [SCSI 磁带支持](https://www.freebsd.org/status/report-2001-07.html#SCSI-Tape-Support)

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

该驱动程序在 -current 下目前状态不佳，正在进行一些修复。没有计划进行重大设计或功能更改。曾有添加 TapeAlert 支持的提议，但惠普通过用户库将其作为二进制产品提供，因此从政治角度来看，觉得最好保持原样。

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

链接：<http://people.freebsd.org/~bmilekic/code/mb_slab/>

联系人：Peter Wemm <<peter@FreeBSD.org>>

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

#### 开发

在 `smpng` 的 p4 分支中，添加了代码以使 ast() 函数循环，关闭当 AST 被触发时，我们正在处理之前触发的 AST 时的竞态条件。

在 `jhb_preemption` p4 分支中，正在进行使内核完全抢占的工作。据反馈，在 UP x86 上稳定，但在 SMP x86 上会死锁，UP alpha 在关机过程中出现问题，并且可能会无限递归直到栈耗尽。

#### 管理

我们正在使用 perforce 仓库进行实时开发工作，能追踪多个独立的长期进行的工作，并且多个开发人员可以同时在同一变更集上协作。

每小时把 FreeBSD-current 导入到 p4 中，便于轻松跟踪变化中的 -current 树。

我还没有写好相关的入门文档，但我们已经能够向开发者社区开放。NEWCARD 工作也看起来会在这里完成。Perforce 非常适合追踪这种长期项目，而无需依赖于传递补丁的方式。

KSE 工作现在已提交到 kse p4 分支——感谢 Julian！

KSE 的工作重点是将主要的 API 更改提前合并到基础树中，以便在 5.0 发布之前完成。

## [SMPng mbuf 分配器](https://www.freebsd.org/status/report-2001-07.html#SMPng-mbuf-allocator)

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

mb\_alloc 是一款专门为 mbufs 和 mbuf 集群设计的分配器。它比旧的 mbuf 分配器有许多重要的优点，特别是对于多处理器 (MP) 机器。此外，它还考虑了后续可能的重要增强功能。

mb\_alloc 代码已于一月前提交到 -CURRENT，并且似乎表现良好。在提交之前，进行了初步的性能测试，确保它在性能上与旧的分配器相比没有显著下降，即使在 Giant 仍然存在的情况下。测试结果很有希望 [http://people.FreeBSD.org/\~bmilekic/code/mb\_alloc/results.html](http://people.freebsd.org/~bmilekic/code/mb_alloc/results.html) —— 还请查看 jlemon 的结果（附文中的链接）。自提交以来，Matt Jacob 提供了有用的反馈和 bug 修复。目前正在进行重新启用 mbtypes 统计信息，并对 netstat(1) 和 systat(1) 进行适当的更改。

## [sparc64 平台](https://www.freebsd.org/status/report-2001-07.html#sparc64-port)

联系人：Jake Burkholder <<jake@FreeBSD.org>>

sparc64 平台已提交到 FreeBSD 仓库。因此，将在 cvs 中进行后续开发，而非作为单独维护的补丁集。自上次状态报告以来进展显著，如：支持使用 ddb 进行内核调试、更完整的 pmap 支持、支持上下文切换和进程创建，以及填充重要的机器相关数据结构。Thomas Moestl 对参与移植工作表现出了浓厚的兴趣，并正在实施对进程浮动点上下文的保存和恢复的支持。我期待与他以及任何其他意外加入的开发者一起工作。

## [为 FreeBSD 实现 SYN 缓存](https://www.freebsd.org/status/report-2001-07.html#SYN-cache-implementation-for-FreeBSD)

联系人：Jonathan Lemon <<jlemon@FreeBSD.org>>

这个项目为 FreeBSD 带来了 SYN 缓存实现，以增强其对拒绝服务（DoS）攻击的防护能力。曾考虑使用 SYN cookies 方法，但最终被拒绝，因为它不符合 TCP 协议。SYN 缓存将与 T/TCP、IPv6 和 IPSEC 一起工作，并且每个缓存元素的大小目前小于正常 TCP 控制块的五分之一。

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

链接：<http://www.trustedbsd.org/>

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

这是忙碌的一个月，发生了许多相关的新闻事件。最重要的是，NAI Labs 获得了一项来自美国国防高级研究计划局（DARPA）的 120 万美元合同，旨在开发与 TrustedBSD 项目相关的多个组件，包括支持可插拔安全模型、改善扩展属性实现、为交换空间和文件系统提供简单的加密支持、文档编写等。

在功能方面，强制访问控制（MAC）、对象标签和改进内核访问控制机制的工作仍在继续，尤其是在进程间授权和凭证管理方面。现在已开始将 NAI Labs 的低水位强制访问控制（LOMAC）方案从 Linux 移植到 FreeBSD，并且已重新授权为 BSD 许可证。我们希望能够在今年晚些时候的 5.0-RELEASE 版本之前，完成初步移植。


---

# 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/7.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.
