# FreeBSD 2001 年 12 月-2002 年 1 月状态报告

* 原文链接：[FreeBSD 2001 年 12 月 -2002 年 1 月 状态报告](https://www.freebsd.org/status/report-2001-12-2002-01.html)
* 作者：FreeBSD 项目

## 引言

本报告涉及了 2001 年 12 月和 2002 年 1 月期间 FreeBSD 项目的开发活动。在过去的几个月里，取得了多项成就，包括与 KSE 项目相关的重要进展，该项目将调度激活引入到 FreeBSD 内核中，以及一些较少可见的基础设施项目，如对挂载接口的改进、PAM 集成工作和翻译工作。紧接着本状态报告的截止日期，BSD 大会和 FreeBSD 开发者峰会举行，相关内容将在下一个双月报告中覆盖，报告将于 3 月底发布。今年晚些时候，美国加州蒙特雷市将举行 USENIX 年度技术大会，现已开始筹备，鼓励大家参加以进一步了解 FreeBSD 的开发动态。

Robert Watson

## [GEOM——通用的块存储操作](https://www.freebsd.org/status/report-2001-12-2002-01.html#%22GEOM%22generalized-block-storage-manipulation)

链接：[旧概念文档见此](http://www.freebsd.org/~phk/Geom/)

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

这个项目现在终于开始了，多亏了 DARPA 和 NAI 获得了赞助。基础设施代码和数据结构目前正在用户空间模拟环境中成形。基本的 MBR 和 BSD 方法已经编写完毕，已经实现并验证设备 attach/taste/dettach 算法。

## [FreeBSD 的蓝牙协议栈（Netgraph 实现）](https://www.freebsd.org/status/report-2001-12-2002-01.html#Bluetooth-stack-for-FreeBSD-\(Netgraph-implementation\))

链接

联系人：Maksim Yevmenkin <<m_evmenkin@yahoo.com>>

该项目正在取得进展。目标是使用 Netgraph 框架设计并实现主机控制器接口（HCI）和链路层控制与适配协议（L2CAP）层。更远的目标是为服务发现协议（SDP）和 RFCOMM 协议（蓝牙链路上的串口仿真）编写支持。所有信息均来自蓝牙规范书 v1.1。

项目状态：进行中。1）设计：基本完成，还有一些小问题需要解决。2）实现：内核 - HCI 和 L2CAP Netgraph 节点已实现；3）用户空间（API，库，工具） - 正在进行中。4）测试：正在进行中。目前没有真正的蓝牙硬件，因此我编写了一些工具，允许我测试代码。其中一些将作为未来用户空间工具的基础。

问题：1) 蓝牙硬件；我没有真实的蓝牙硬件，所以如果有人能捐赠硬件/或规格资料那就太好了。我保证编写所有需要的驱动程序提供给大家。我还保证在收到请求后第一时间归还硬件/规格资料。2) 项目名称；我希望项目名称能反映以下内容：这是一款蓝牙协议栈，基于 FreeBSD 上的 Netgraph 框架实现。

## [FreeBSD C99 与 POSIX 合规性项目](https://www.freebsd.org/status/report-2001-12-2002-01.html#FreeBSD-C99-&-POSIX-Conformance-Project)

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

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

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

在 12 至 1 月期间，尤其是在实用工具合规性方面，进展显著。为了符合 SUSv3（Single UNIX Specification v3，第三版单一 UNIX 规范），更新了多款实用工具，包括：at(1)、mailx(1)、pwd(1)、split(1) 和 uudecode(1)。为提高其他实用工具的合规性，提交了多个补丁，包括：fold(1)、patch(1)、m4(1)、nice(1)、pr(1)、renice(1)、wc(1) 和 xargs(1)。正在审查和提交这些补丁。编写了两款新的实用工具，分别是 pathchk(1) 和 tabs(1)，这些工具也正在审查中，且将很快提交。

正在审查一个实现大部分了 scanf(3) 要求的补丁，预计很快就会提交。这将使我们能够 MFC 多个新函数和头文件。此外，已开始进行宽字符串和复数支持的工作。

## [保加利亚语版本的 FreeBSD](https://www.freebsd.org/status/report-2001-12-2002-01.html#FreeBSD-in-Bulgarian)

链接：

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

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

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

保加利亚语版本的 FreeBSD 项目旨在为保加利亚用户提供更舒适的 FreeBSD 操作系统使用环境。这包括但不限于字体、键盘布局和区域设置支持、FreeBSD 文档的保加利亚语翻译、本地用户组和各种形式的在线帮助渠道及讨论论坛，以帮助保加利亚人采用和使用 FreeBSD。

已在项目网站上发布了使用 FreeBSD 保加利亚设置的指南。CVS 代码库将在不久后公开，并通过上述链接提供。

独立的项目 [http://www.FreeBSD-bg.org/](http://www.freebsd-bg.org/) 已问世，旨在让 FreeBSD 更容易为保加利亚人使用。它还托管了一个讨论 FreeBSD 保加利亚语版本的邮件列表，<stable@FreeBSD-bg.org>。有关邮件列表的更多信息，请发送一封包含 `help` 的邮件至 <majordomo@FreeBSD-bg.org>。

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

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

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

过去的两个月对于 FreeBSD Java 项目来说是激动人心的，因为 FreeBSD 基金会与 Sun 签署了一项许可协议，能让我们访问更新的 JDK 源代码和 Java 兼容性套件（JCK）。此许可协议还将能让该项目在完成 JCK 测试后发布 JDK 和 JRE 的二进制版本。目前正在进行此项测试，项目希望能够在不久的将来发布二进制版本。

由于二进制版本未能实现与 FreeBSD 4.5 一同发布，项目将在本周末发布更新的源代码补丁集。此补丁集将包括 Bill Huey 在 FreeBSD“本地”线程子系统方面的进一步工作。此外，得益于 Joe Kelsey 和 Fuyuhiko Maruyama 的辛勤工作，此补丁集将首次包括一款可用的 Java 浏览器插件！

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

**链接**

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

[SNAPSHOT 注记 (日语)](http://www.jp.freebsd.org/snapshots/notes.html)

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

我已将构建机器的操作系统更新为最新的 FreeBSD 5-current 和 4-stable，一切顺利。自 2002 年 1 月以降，我启动了网络杂志——SNAPSHOTS Notes（目前仅提供日语版本）。SNAPSHOTS Notes 提供了有关使用 FreeBSD 5-current/4-stable 的用户的技巧和信息。欢迎随时提供文章或想法（不必限于日语 :-).

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

**链接**

[jpman 项目 (日语)](http://www.jp.freebsd.org/man-jp/)

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

对于 4.5-RELEASE，Port ja-man-doc-4.5.tgz 已与基本系统同步，除了 OpenSSH 页面（基于 OpenSSH 2.3 而非 2.9）和 Perl5 页面（jpman 项目不维护）。第 3 部分的更新完成了 55%。

OKAZAKI Tetsurou 已将基本系统的 groff 更改集成到 Port japanese/groff 中。MORI Kouji 已修复 Port japanese/man 中的两个 bug。

## [KAME](https://www.freebsd.org/status/report-2001-12-2002-01.html#KAME)

**链接**：<http://www.kame.net/>

联系：KAME core team <<core@kame.net>>

KAME 项目目前专注于作用域寻址架构、先进的 API 实现、NATPT 和移动 IPv6 实现。尽管这些内容尚不稳定，无法并入 FreeBSD 源码，但你可以从上述链接下载，尝试它们。

## [KSE 状态报告](https://www.freebsd.org/status/report-2001-12-2002-01.html#KSE-Status-Report)

**链接**

[链接](http://www.freebsd.org/~julian/)

[链接](http://www.freebsd.org/~jasone/kse/)

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

KSE 项目（旨在使用内核支持在 FreeBSD 中支持可扩展线程）已达到我所称之为“里程碑 3”。在此里程碑中，可以在单颗 CPU 上运行多线程程序，但该 CPU 上的线程完全并发。换句话说，内核支持线程可通过其他线程运行来阻塞自己。可以在上述网站上获取此功能的演示测试程序。

里程碑 4 将能在多颗 CPU 上运行同一程序的线程，但可能需要来自 SMPng 项目的更多建议。我目前（2 月 6 日）正在准备提交第一组里程碑 3 的更改，这些更改无实际效果，但可以大大减少剩余差异的复杂性，以便其他人能更便于阅读。添加对 libkvm 的更改以支持这些差异后，应该可以运行 'ps' 并查看线程化进程中的多个线程。我将在 BSDcon 上演示 KSE/M3。

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

**链接**：<ftp://ftp.fokus.gmd.de/pub/cc/cats/usr/harti/ngatm/>

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

已将 Netgraph ATM 包拆分为多个较小的包：bsnmp 是款通用的 SNMP 守护进程，支持可加载模块。它附带了两个模块：一个实现 MIB-2 中的标准网络接口和 IP 相关部分，另一个用于将其他模块与 NetGraph 子系统接口。ngatmbase 包含 ATM 硬件驱动程序、ng\_atm netgraph 类型以及一些测试工具。该包可使用 ATM PVC。例如，可以使用此包进行 PPP over ATM（PPPoA）。可通过上述链接下载 bsnmp 和 ngatmbase 的 1.0 版本。还有两个其他模块将在 2 月发布：ngatmsig，包含作为 netgraph 节点的 UNI-4.0 信令栈，以及 ngatmip，包含 CLIP 和 LANE-2.0。

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

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

联系：Maxime Henrion <<mux@sneakerz.org>>

现在，补丁已发送至邮件列表 <freebsd-arch@FreeBSD.org>，并且未收到任何反对意见，将在近期进行提交。Poul 目前正在自己的源码中测试此补丁。提交后，将开始修改源码中的文件系统，来使用 VFS\_NMOUNT 而非 VFS\_MOUNT。Mount(8) 也需要进行一些修改。与此同时，正在为 mount(2) 和 kernel\_vmount(9) 创建新的手册页。

## [PAM](https://www.freebsd.org/status/report-2001-12-2002-01.html#Pluggable-Authentication-Modules)

**链接**

[OpenPAM](http://openpam.sourceforge.net/)

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

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

OpenPAM 是一款新的库，旨在替换 FreeBSD 中的 Linux-PAM，它已经编写完成并正在进行集成测试。可从上面的链接下载。

此外，已编写了几个新的模块（pam\_lastlog(8)，pam\_login\_access(8)），且已增补 pam\_unix(8) 模块，可以执行 login(1) 通常执行的大多数任务，现在已经完全 PAM 化。

PAM FDP 文章已暂时搁置——直到 CVS 中的 Linux-PAM 被 OpenPAM 替代，以避免浪费精力在即将过时的文档上。

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

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

增补了 camcontrol 的页面定义文件格式，如 modepage 和 logpage 定义；向 camcontrol 添加了支持查询和重置日志页面参数的功能。考虑到可能会包括对诊断和重要产品数据页面的支持，但这超出了当前项目的范围。新的页面定义文件格式包括基于 SCSI INQUIRY 结果有条件地包含页面定义的能力，还可描述供应商特定的页面。该项目已完成约 90%。

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

**链接**

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

Alfred Perlstein 提交了文件描述符锁定代码，这对于锁定一些重要的全局数据是一个积极的推动。Peter Wemm 在 x86 SMP TLB 驱逐方面取得了 pmap 清理的进展。Matt Dillon 和 John Baldwin 在将对 ucred 的访问移出 Giant 的保护范围方面取得了进展。John Baldwin 还做出了一些提交，以使 alpha 平台的 SMP 正常工作。Matt Dillon 计划继续追踪 fileops 锁定问题，以继续他之前的 Giant 推下（pushdown）工作。

## [TrustedBSD ACL](https://www.freebsd.org/status/report-2001-12-2002-01.html#TrustedBSD-ACLs)

**链接**

联系：Chris Faulhaber <<jedgar@FreeBSD.org>>

针对 cp(1)、ls(1) 和 mv(1) 的补丁，已更新为与 -CURRENT 构建兼容的 POSIX.1e 合规的访问控制列表（ACL）支持。其他系统工具正在评估 ACL 支持，包括 install(1)（补丁已提供）和 mtree(8)。正在进行工作，以验证原生的 getfacl(1)、setfacl(1) 及其他工具在其他启用了 ACL 的系统（例如启用了 ACL 补丁的 Linux）上构建并正常工作，并帮助验证继续进行的 TrustedBSD 工作的 POSIX 合规性及其他系统。最后，还提供了实验性的 Perl 和 PHP 模块，可对 C 语言以外的语言有限访问本地 ACL。

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

**链接**：<http://www.fxp.org/jedgar/ACL/>

[TrustedBSD 项目官网](http://www.trustedbsd.org/)

联系：trustedbsd-discuss <<trustedbsd-discuss@TrustedBSD.org>>

Robert Watson 创建了 TrustedBSD 审计的 Perforce 存储库，这是从 TrustedBSD 基础树分支出来的，旨在推动开发工作使用版本控制系统。Andrew Reiter 开始合并一些与框架相关的代码，用于生成审计记录、排队写入以及处理数据写入。关于更新和讨论有大量工作要做，相关讨论可以在 <trustedbsd-discuss@TrustedBSD.org> 邮件列表中进行。

## [TrustedBSD MAC 实现](https://www.freebsd.org/status/report-2001-12-2002-01.html#TrustedBSD-MAC-Implementation)

**链接**

\[TrustedBSD 项目网站]\(<http://www.trustedbsd.org/>

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

在实现有效的 MAC（强制访问控制）方面进展显著。过去两个月的重点是从一系列硬编码的 MAC 策略过渡到更灵活的实现。已创建可插拔的策略框架（仍在开发中），支持 Biba、MLS、TE、"BSD Extended" 模型，以及示例的 mac\_none 模块。某些模块必须在启动前编译或加载，其他模块可以在运行时引入。改进了网络支持，包括对 IPv4 中 IP 分片的处理改进、支持各种伪接口（如 if\_tun 和 if\_tap）、与用户空间的集成改善、与 NFS 相关的修复、将 VFS 执行从各个文件系统中移出、支持“多级”挂载标志、支持在 procfs 和 devfs 中显式标签化、增加了“extattrctl lsattr”参数，可列出文件系统上的 EA（扩展属性）、在 Biba 和 MAC 策略中支持标签范围等。

接下来两个月的目标包括对 VFS 相关调用的更广泛执行、改进对替代 ABI 的支持、内核中主题和对象标签的灵活性增强、支持 IPv6 和 IPsec，以及对 NFS 服务支持的改善。

开发工作继续在 FreeBSD 的 Perforce 仓库中进行，可通过 cvsup 访问。

## [维护 USB 堆栈](https://www.freebsd.org/status/report-2001-12-2002-01.html#USB-stack-maintenance)

联系：Josef Karthauser <<joe@FreeBSD.org>>

我一直在努力将 NetBSD USB 堆栈中的最新改进集成到 FreeBSD -current 中。NetBSD 和 OpenBSD 目前共享着相同的源代码，FreeBSD 在分支之前曾一度也与它们相同。目标是恢复到这种状态，但两者都有许多需要合并的改进，才能完成这一过程。

目前我在寻找帮助维护 -stable 中 USB 的人。如果你感兴趣，请告诉我。


---

# 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/2002/12-1.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.
