原文链接:FreeBSD 2001 年 12 月-2002 年 1 月 状态报告
本报告涉及了 2001 年 12 月和 2002 年 1 月期间 FreeBSD 项目的开发活动。在过去的几个月里,取得了多项成就,包括与 KSE 项目相关的重要进展,该项目将调度激活引入到 FreeBSD 内核中,以及一些较少可见的基础设施项目,如对挂载接口的改进、PAM 集成工作和翻译工作。紧接着本状态报告的截止日期,BSD 大会和 FreeBSD 开发者峰会举行,相关内容将在下一个双月报告中覆盖,报告将于 3 月底发布。今年晚些时候,美国加州蒙特雷市将举行 USENIX 年度技术大会,现已开始筹备,鼓励大家参加以进一步了解 FreeBSD 的开发动态。
Robert Watson
链接
联系人:Poul-Henning Kamp <phk@FreeBSD.org>
这个项目现在终于开始了,多亏了 DARPA 和 NAI 获得了赞助。基础设施代码和数据结构目前正在用户空间模拟环境中成形。基本的 MBR 和 BSD 方法已经编写完毕,已经实现并验证设备 attach/taste/dettach 算法。
链接
联系人: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 框架实现。
链接:http://people.freebsd.org/~mike/c99/
联系人:Mike Barcroft <mike@FreeBSD.org>
联系人:FreeBSD-Standards 邮件列表 <standards@FreeBSD.org>
在 12 月和 1 月期间,尤其是在实用工具合规性方面,取得了显著进展。多项实用工具已更新以符合 SUSv3,包括: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 多个新函数和头文件。此外,已开始进行宽字符串和复数支持的工作。
链接:
http://www.freebsd-bg.ringlet.net/
http://people.freebsd.org/~roam/bg/
联系人:Peter Pentchev <roam@FreeBSD.org>
FreeBSD 的保加利亚语版本项目旨在为保加利亚用户提供更舒适的 FreeBSD 操作系统使用环境。这包括但不限于字体、键盘映射和区域设置支持、FreeBSD 文档的保加利亚语翻译、本地用户组和各种形式的在线帮助渠道及讨论论坛,以帮助保加利亚人采用和使用 FreeBSD。
已在项目网站上发布了使用 FreeBSD 保加利亚设置的指南。CVS 代码库将在不久后公开,并通过上述链接提供。
一个独立的项目,旨在让 FreeBSD 更容易为保加利亚人使用,已经出现,http://www.FreeBSD-bg.org/。它还托管了一个讨论 FreeBSD 保加利亚语版本的邮件列表,stable@FreeBSD-bg.org。有关邮件列表的更多信息,请发送一封包含 help
的邮件至majordomo@FreeBSD-bg.org。
链接: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 浏览器插件!
链接
联系:Makoto Matsushita <matusita@jp.FreeBSD.org>
我已将构建盒的操作系统更新为最新的 FreeBSD 5-current 和 4-stable,一切顺利。从 2002 年 1 月开始,我启动了一个网络杂志——SNAPSHOTS Notes(目前仅提供日语版本)。SNAPSHOTS Notes 提供关于使用 FreeBSD 5-current/4-stable 的用户的技巧和信息。欢迎随时提供文章或想法(不必用日语写 :-).
链接
联系: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 core team <core@kame.net>
KAME 项目目前专注于作用域寻址架构、先进的 API 实现、NATPT 和移动 IPv6 实现。尽管这些内容尚不稳定,无法并入 FreeBSD 源码,但你可以从上述链接获取并尝试它们。
链接
联系:Julian Elischer <julian@FreeBSD.org>
KSE 项目(旨在使用内核支持在 FreeBSD 中支持可扩展线程)已达到我所称之为“里程碑 3”。在此里程碑中,可以在单个 CPU 上运行多线程程序,但该 CPU 上的线程完全并发。换句话说,内核支持一个线程可以通过允许另一个线程运行来阻塞自己。一个演示此功能的测试程序可以在上述网站上获取。
里程碑 4 将允许在多个 CPU 上运行同一程序的线程,但可能需要来自 SMPng 项目的更多输入。我目前(2 月 6 日)正在准备提交第一组里程碑 3 的更改,这些更改没有实际效果,但可以大大减少剩余差异的复杂性,以便其他人能更容易地阅读。添加对 libkvm 的更改以支持这些差异后,应该可以运行 'ps' 并查看线程化进程中的多个线程。我将在 BSDcon 上演示 KSE/M3。
链接: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。bsnmp 和 ngatmbase 的版本 1.0 可通过上述链接获得。还有两个其他模块将在 2 月发布:ngatmsig,包含作为 netgraph 节点的 UNI-4.0 信令栈,以及 ngatmip,包含 CLIP 和 LANE-2.0。
联系:Poul-Henning Kamp <phk@FreeBSD.org>
联系:Maxime Henrion <mux@sneakerz.org>
现在,补丁已发送到 邮件列表freebsd-arch@FreeBSD.org ,并且没有收到任何反对意见,提交将在近期进行。Poul 目前正在自己的树中测试此补丁。提交后,将开始修改树中的文件系统,以使用 VFS_NMOUNT 而不是 VFS_MOUNT。Mount(8) 也需要进行一些修改。与此同时,正在创建一些新的手册页 —— nmount(2) 和 kernel_vmount(9)。
链接
联系: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 文章,直到 OpenPAM 在 CVS 中替代 Linux-PAM,以避免浪费精力在即将过时的文档上。
联系:Kelly Yancey <kbyanc@FreeBSD.org>
扩展了 camcontrol 的页面定义文件格式,包括 modepage 和 logpage 定义;向 camcontrol 添加了支持查询和重置日志页面参数的功能。考虑到可能会包括对诊断和重要产品数据页面的支持,但这超出了当前项目的范围。新的页面定义文件格式包括基于 SCSI INQUIRY 结果有条件地包含页面定义的能力,还允许描述供应商特定的页面。该项目已完成约 90%。
链接
联系: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 推下工作。
链接
联系: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。
链接:http://www.fxp.org/jedgar/ACL/
联系:trustedbsd-discuss <trustedbsd-discuss@TrustedBSD.org>
Robert Watson 创建了 TrustedBSD 审计的 Perforce 树,这是从 TrustedBSD 基础树分支出来的,旨在推动开发工作使用版本控制系统。Andrew Reiter 开始合并一些与框架相关的代码,用于生成审计记录、排队写入以及处理数据写入。关于更新和讨论有大量工作要做,相关讨论可以在 trustedbsd-discuss@TrustedBSD.org 邮件列表中进行。
链接
[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 访问。
联系:Josef Karthauser <joe@FreeBSD.org>
我一直在努力将 NetBSD USB 堆栈中的最新改进集成到 FreeBSD -current 中。NetBSD 和 OpenBSD 目前共享相同的源代码,FreeBSD 在分支之前曾一度也与它们相同。目标是恢复到这种状态,但两者都有许多需要合并的改进,才能完成这一过程。
目前我在寻找帮助维护 -stable 中 USB 的人。如果你有兴趣,请告诉我。