FreeBSD 2002 年 5-6 月状态报告
引言
5、6 月是 FreeBSD 项目非常忙碌的几个月——FreeBSD 开发者们于 6 月在加利福尼亚州蒙特雷举行了 FreeBSD 开发者峰会 III,讨论了今年晚些时候 FreeBSD 5.0 发布的战略,并参加了 USENIX 年度技术会议以及 FreeBSD 的 BoF(Birds of a Feather,物以类聚会议)。在 FreeBSD 5.0 的开发中取得了显著的技术进展,并且在 6 月,FreeBSD 4.6-RELEASE 在 RELENG_4 分支上发布。
夏季的剩余时间将继续忙碌。5.0-RELEASE 的最终组件和特性将被合并到源码中,开发方向将从新增功能转向稳定性、性能和生产环境准备性。随着夏季晚些时候更多 5.0 开发预览版的发布,我们希望扩大 - CURRENT 分支的测试者基础,开始让早期采用者在他们的测试环境中发现潜在问题。我建议 FreeBSD 开发者和用户尝试 5.0-DP2(请勿在含有重要数据的机器上运行!),并告诉我们测试结果。发布前进行更多测试,可以减少发布后需要修复的问题!
Robert Watson
链接
联系人:Maksim Yevmenkin <m_evmenkin@yahoo.com>
没有太多进展可报告。另一个工程快照已可供下载,地址为:http://www.geocities.com/m_evmenkin/ngbt-fbsd-20020709.tar.gz
。如果有人有蓝牙硬件,还有空闲时间,请加入帮助我进行测试。
这个快照包含了对 USB 设备的基本支持和手册页。HCI 层现在支持多个控制钩子。所有 HCI 传输驱动程序(H4、BT3C 和 UBT)已经修改,提供一致的接口给外部世界。一些用户空间工具也进行了更改。
仍然不支持 RFCOMM(通过蓝牙链路进行串口仿真)和 SDP(服务发现协议)。发现了一些设计缺陷,可能需要一些时间来解决这些问题。
链接
联系人:Gregory Shapiro <gshapiro@FreeBSD.org>
BSDCon 2003 程序委员会邀请你提交与 BSD 衍生系统和开源世界相关的原创性和创新性论文。感兴趣的主题包括但不限于:
嵌入式 BSD 应用程序开发与部署
使用 BSD 系统的实际经验
在混合操作系统环境中使用 BSD
与非 BSD 操作系统的比较;技术、实际、许可(GPL 与 BSD)
跟踪非 BSD 系统的开源开发
BSD 在桌面上的应用
I/O 子系统和设备驱动开发
SMP 和内核线程
内核增强
互联网和网络服务
安全
性能分析和调优
系统管理
BSD 的未来
扩展摘要提交截止日期为 2003 年 4 月 1 日。提交前请务必查看扩展摘要的要求。选择将基于提交文稿的质量以及该工作是否对社区有兴趣。
我们期待收到你的投稿!
联系人:Sam Leffler <sam@FreeBSD.org>
该项目的主要目标是修改 IPSEC 协议,使用从 OpenBSD 导入的内核级加密子系统(请参见其他地方)。其次的目标是对 IPSEC 协议进行性能调优。
IPv4 协议的基本功能已可运行。IPv6 的支持已经编码,但尚未测试。硬件加速的加密操作已能正常工作,且性能有所提升。基于软件的加密计算的性能看起来至少与现有实现一样好。已经识别出许多性能改进的机会。
此项工作目前正在 -stable 源码上进行。对 -current 源码的移植工作即将开始。
链接
http://www.freebsd.org/projects/c99/
联系人:Mike Barcroft <mike@FreeBSD.org>
联系人:FreeBSD-Standards 邮件列表 <standards@FreeBSD.org>
自上次状态报告以来,以下实用程序已经至少在某种程度上与 POSIX.1-2001 一致,它们包括:asa(1)、cd(1)、compress(1)、ctags(1)、ls(1)、newgrp(1)、nice(1)、od(1)、pathchk(1)、renice(1)、tabs(1)、tr(1)、uniq(1)、wc(1) 和 who(1)。此外,正在进行开发,以使 BSD SCCS 套件与更新的标准保持一致。
在 API 方面,printf(9) 已支持 j
和 n
标志,waitpid(2) 现在支持 WCONTINUED 选项,并已提交了 fstatvfs() 和 statvfs() 的实现。utmpx 的实现正在进行中,旨在解决当前 utmp 存在的一些主要问题。几个头文件已更新为与 POSIX.1-2001 一致,包括:<netinet/in.h>
、<pwd.h>
、<sys/statvfs.h>
和 <sys/wait.h>
。
链接
联系人:Joe Marcus <marcus@FreeBSD.org>
联系人:Maxim Sobolev <sobomax@FreeBSD.org>
FreeBSD GNOME 项目进展顺利。我们刚刚完成了 GNOME 2.0 Final 开发平台和桌面的移植工作到 FreeBSD!我们希望能将 GNOME 2.0 作为 5.0-DP2 和 4.7-RELEASE 的默认桌面环境。同时,我们也在努力移植更多的 GNOME 2.0 应用程序。
为了让 GNOME 1.4.1 应用程序能与 GNOME 2.0 一起工作,我们正在重构 GNOME 移植基础设施。基于 GNOME 1.4.1 的 Ports 正在转换为使用新的 GNOMENG 移植结构。该新系统的具体细节将在 FreeBSD GNOME 项目主页的 GNOME 移植指南中撰写。
链接
联系人:Greg Lewis <glewis@FreeBSD.org>
在过去几个月中,BSD Java 移植团队在多个方面取得了缓慢但稳定的进展。不幸的是,这些进展大多是在幕后进行的,这使得这是很好的机会,能让社区了解最新情况。
Bill Huey 已成功将 Java HotSpot 虚拟机移植到 FreeBSD!尽管代码被标记为 alpha 水准,Bill 已努力工作,能够运行如 Java 2D 演示等主要示例。此代码已提交到仓库,很快将可用。
1.4 J2SDK 的移植工作已开始。首批提交已进入代码源码,尽管首个补丁集还需一些时间。
TCK 合规性测试仍在继续。当前状态下,JDK 还有 19 个编译器错误和 183 个运行时错误。随着合规性的接近,希望能发布示例代码,让社区在解决最后几个 bug 时共同努力。
JDK 1.3.1 的新补丁集即将发布。此补丁集将首次包含 HotSpot。
链接
联系人:<re@FreeBSD.org>
在过去几个月中,FreeBSD 发布工程团队监督了一次发布过程,最终于 6 月 15 日发布了 FreeBSD 4.6 版本,适用于 i386 和 Alpha 架构。发布工程团队目前正在并行处理 FreeBSD 4.6.1 和 5.0 DP2 的工作。4.6.1 是一个小版本更新,包含更新的 SSH 和 BIND,修复了一些报告的 ata(4) 问题,并增强了安全性,相关细节将在发布说明中详细说明。4.6.1 的发布工程工作正在 RELENG_4_6 分支上进行,而 5.0 DP2 的工作则在 Perforce 中进行,以避免干扰正在进行的 -current 开发。我们仍然致力于在 2002 年 11 月 15 日左右发布 FreeBSD 5.0。有关即将发布的计划,请参见我们上面的官网。发布工程团队感谢 Sentex Communications 为发布构建人员提供快速的 i386 构建机器。同时,Compaq 也为该项目捐赠了几台快速的 Alpha 构建机器。
链接
http://www.freebsd.org/security
联系人:Jacques Vidrine <nectar@FreeBSD.org>
Kris 在担任项目安全官员逾一年,出色地完成工作后,于 1 月辞去职务,专注于攻读博士学位。我提出尝试填补这个空缺职位。
这是安全官员团队的第一次报告。自 2002 年初以来的重大事件如下。
已发布 28 个 FreeBSD 安全公告,其中 16 个涉及基本系统。在这 16 个中,仅 8 个影响 FreeBSD。
已引入 FreeBSD 安全通知,迄今已发布了 4 个。安全通知涵盖的问题被认为不够关键,不足以发布安全公告。到目前为止,安全通知中报告的仅为 Ports 中的问题(即可选的第三方软件包中的漏洞)。前四个安全通知涉及了 53 个单独的问题。
报告给安全官员团队的问题目前正在使用 RequestTracker 票务数据库进行跟踪。
安全官员团队经历了成员变化以及一些内部组织结构的变化。成员和组织也已在 FreeBSD 安全官员网页上公开可见。
链接
联系人:Peter Wemm <peter@FreeBSD.org>
IA64 进展缓慢。我们已获得来自 Intel 的原型 4 路 Itanium2 系统,并成功使其运行到能够访问磁盘和网络的阶段,并启用了 SMP。我们遇到了一个大问题,涉及 ACPI2.0 和 PCI 路由表条目在 pci-pci 桥后,且短期内没有解决方案。已经提交了多个工作中项目到 CVS,具体包括对执行 32 位 i386 二进制文件的更完整支持以及 Marcel Moolenaar 的 EFI GPT 工具原型。
链接
联系人:Nicholas Souchu <nsouch@FreeBSD.org>
进展较慢,但该工作仍在进行中。大部分通过 KGI 实现的 framebuffer 已与基于 framebuffer 的 KGI 显示驱动程序并行编写。正在讨论 DDC/DDC2 以支持即插即用监视器。KGI 的目标是提供一个通用的、操作系统独立的接口,能够利用 FreeBSD 的 I2C (iic(4)) 基础设施。
链接
联系人:Poul-Henning Kamp <phk@FreeBSD.org>
GEOM 代码已经取得了进展,在某些方面超过了我们现有的代码,但在其他方面仍然存在不足。目标是让 GEOM 成为 5.0-RELEASE 的默认配置。
目前,针对加密模块的工作正在进行,该模块应能保护磁盘分区免受几乎所有类型的攻击。
联系人:Sam Leffler <sam@FreeBSD.org>
该项目的目标是导入 OpenBSD 内核级加密子系统。该设施提供内核级和用户级访问硬件加密设备,用于计算加密哈希、密码和公钥操作。该设施的主要客户端是内核 RNG (/dev/random)、网络协议(例如 IPSEC)和 OpenSSL(通过 /dev/crypto 设备)。
该软件作为对 -stable 源码的补丁已经可用约六个月。核心加密支持已通过测试,包括对 Hifn 7951 和 Broadcom 5805、5820 和 5821 部件的设备驱动程序支持。近期的工作集中在修复设备驱动程序错误、修复对 Hifn 7811 部件的支持、添加对公钥操作的支持,以及在加密层和设备驱动程序之间添加流控。未来的工作包括将该设施移植到 -current 源码。
链接
联系人:Doug Barton <DougB@FreeBSD.org>
联系人:Mike Makonnen <makonnen@pacbell.net>
联系人:Gordon Tetlow <gordont@FreeBSD.org>
我们正在取得优异的进展。现在已经将一个完全功能的实现导入 -current。我们需要尽可能多的人在 /etc/rc.conf 中将 rc_ng 设置为 YES。
下一步是将默认值设置为 YES,我们计划在 DP 2 之前完成此操作。
联系人:Andre Oppermann <oppermann@pipeline.ch>
联系人:Claudio Jeker <jeker@n-r-g.com>
当前 BSD UNIX 中的 Patricia Trie 路由表效率较低,并且每个节点浪费大量空间(超过 256 字节)(一个完整的互联网视图 110k 路由占用 33 MByte 的 KVM)。另一个问题是路由表中的指针到处都是,这使得替换路由表变得非常困难,也显著增加了路由表维护的负担(例如,对于某些类型的更新,整个 PCB 必须线性地搜索)。这也是 SMP 锁定的一个重大负担。重写的重点是理顺指针问题,使路由表可替换,并提供一个更加优化的 IP 表(对于 110k 路由,仅占用 5 MByte)。其他新选项包括策略路由和在网络堆栈中进行一些结构对齐,以提高清晰性、简洁性和灵活性。
重写的 IP 路由表预计将在 10 月准备好提交。
链接:http://www.iet.unipi.it/~luigi/
联系人:Luigi Rizzo <luigi@FreeBSD.org>
在 2002 年夏季,FreeBSD 的本地防火墙被完全重写,采用了一种使用 BPF 类似指令的形式,以更有效地执行数据包匹配。外部用户界面完全向后兼容,尽管你可以使用一些较新的匹配模式(例如,处理稀疏的 IP 地址),这可以显著简化规则集的编写(并加速其处理)。新防火墙 ipfw2 比旧版更快且更容易扩展。它已经被包含在 FreeBSD -current 中,FreeBSD -stable 的补丁可以从作者处获得。
链接
联系人:Makoto Matsushita <matusita@jp.FreeBSD.org>
在过去两个月里,我度过了忙碌的日子,项目中出现了许多新话题。我们现在通过在 x86 PC 上交叉编译,支持 FreeBSD/alpha 5 -current 发行版。匿名 FTP 区域现在已导出到另一个 Web 服务器。由于 CPU/网络带宽问题,我们的发布分支快照已迁移到 daemon.jp.FreeBSD.org
。
我正在认真考虑解决项目未来发展的 CPU 和网络资源不足问题。也许带宽问题可以解决(已经收到了多条带宽提供!),但关于 CPU 问题没有答案(我计划将我们的 PC 从 P3-500MHz 升级到 P4 或更好)。如果你有兴趣捐赠 PC 给该项目,请通过电子邮件与我联系获取更多详情。
链接
联系人:Kazuo Horikawa <horikawa@FreeBSD.org>
对于 4.6-RELEASE,我们发布了 ja-man-doc-4.6.tgz 包,该包与 4.6-RELEASE 基本系统手册页保持同步,除了 perl5 页面(jpman 项目不维护它们)。第 3 节的更新已完成 88%。
链接
IPv6 展示在 Network+Interop2002(详细,但为日文)
联系人:SUZUKI Shinsuke <core@kame.net>
恐怕 KAME 项目在过去两个月里未能积极与 FreeBSD 相关的工作,因为我们忙于在 Networld+Interop 2002 东京展会中演示我们的 IPv6 实现。(多亏了大家的巨大努力,演示非常成功)
我们知道有关于 socket 处理、细粒度锁定、ip6fw 等的 netinet6 相关 bug 报告。很遗憾,由于上述情况,我们目前无法对这些问题进行回应,但我们将内部讨论这些问题,并决定下一步的行动。
链接
联系人:Julian Elischer <julian@FreeBSD.org>
联系人:Dan Eischen <deischen@FreeBSD.org>
该项目在 7 月初迈出了重要一步,当时 Milestone-III 被提交。Milestone-III 允许一个简单的测试程序(位于 /usr/src/tools/KSE/ksetest/)运行多个线程,使用内核支持。但它尚不允许这些线程在不同的 CPU 上同时运行。Milestone IV 将实现这一点,然而 Milestone-III 应该可以让 Dan(以及任何有兴趣的人)开始原型化该系统的用户空间部分。Milestone-III 目前仅可在 x86 上使用,并且不包括一些后续所需的完整线程控制、挂起等要求。
在启动 M-IV 之前,可能会在发现问题时对 M-III 的中央源代码进行一些小调整,以帮助启动用户空间。这些更改不会影响非 KSE 进程(即所有进程 :-)),对于其他开发人员来说不应成为问题。
我们需要一个 tex/fig->html
大师来帮助维护 KSE 的网页(未提及,因为它当前已损坏)。
链接
联系人:Antoine Beaupre <antoine@usw4.FreeBSD.org>
联系人:Alexander Langer <alex@FreeBSD.org>
联系人:Nathan Ahlstrom <nra@FreeBSD.org>
Max 一直忙于清理用户界面的“暗面”,并提出了一个改善构建系统的计划(使用自动化的 Makefile 依赖生成器);UI 设计和 TCL 魔术(使用 Swig)。在 usw4 上创建了一个开发页面,发布了大量关于当前项目状态的信息,包括变更日志、截图、文档等。已实现一个新的列表框小部件,使磁盘编辑器看起来更漂亮且更易用。包系统后端正在检查和重新设计,以符合一个标准,该标准本身也正在重新思考。实际上,旧的 sysinstall2.txt 文本已被 SGML 化并增强,现在提供了 libh 包系统的一个良好(尽管粗略)概述。这使得该文档得以增强,增加了不同过程如何运作的图示。因此,我们离真正的 pkgAPI 规范文档更近了。包管理工具已略有增强,应该更加可用,我们已经开始在源码中提交回归测试套件,主要是为了测试和维护 pkg API 的一致性。
因此,libh 的工作仍在继续。我计划查看 Port rhtvision ,看看它是否更适合用于 tvision 后端。我将继续在包系统上进行工作,以使其真正可靠,而 Max 则继续在 UI 子系统上的出色工作。我希望尽快发布一个新的 libh alpha 版本。请注意,从现在起,libh 的进展将发布在开发页面上。
链接
联系人:Bosko Milekic <bmilekic@FreeBSD.org>
轻量级中断调度代码使得在 i386 上调度中断时无需获取 sched_lock,避免了完全的上下文切换。
目前,p4 分支中的代码已经工作,尽管需要一些清理,并且最重要的是,仍需合并到 post-KSE III。现在这些东西似乎有所稳定,我在等待有时间(以及一些勇气)来完成合并。此外,我期待有一些 KSE 接口,允许进行“KSE 借用”,这样可以让轻量级中断与 KSE 的配合更加清晰。这是 5.0 版本的特性。
链接
联系人:Jeffrey Hsu <hsu@FreeBSD.org>
Jennifer Yang 提交的补丁已于 6 月 10 日提交至 BSD 峰会。经过几次报告的初始 bug 并在同一周修复后, -current 中的网络功能已稳定,包括之前未锁定的部分,如 IPv6。目前正在进行锁定其余栈的工作。
链接
联系人:Bosko Milekic <bmilekic@FreeBSD.org>
mb_alloc 正在进行一些更新和优化。一个新的分配器接口例程应该已经在这份报告“发布”时被提交:m_getcl() 在一次操作中分配了一个 mbuf 和一个集群。这是 Alfred 和最近的 Luigi 多个月(字面上说)请求的结果,顺便说一下,Luigi 也是 -stable 中同一 [即将发布] 例程的作者。
除此之外,mb_alloc 正在学习如何在不释放缓存锁的情况下执行多 mbuf 或集群分配(m_getcl() 和 m_getm() 将使用这个方法)。最后,还在进行优化 ext_buf 引用计数分配的工作,并为 jumbo(> 9K)集群提供支持。
联系人:Claudio Jeker <jeker@n-r-g.com>
联系人:Andre Oppermann <oppermann@pipeline.ch>
当前的 natd 在转换不同类型的流量方面非常强大,但在配置方面则较为薄弱。该项目重写了 natd 和部分 libalias,以提供像 ipf(ipnat)和 pf 中那样强大且富有表现力的配置集。此外,它将使用 kqueue,并支持多个 IP 地址的别名映射。
重写后的 natd 将在 9 月初准备好提交。
联系人:Warner Losh <imp@FreeBSD.org>
已设计 devd 守护进程,替代 pccardd 和 usbd。NEWCARD 中修复了一些小错误。NEWCARD 现在是 -current 的默认选项。一个实验性的 pci/cardbus 总线代码合并作为分支提供,将在稳定后合并到 current。
状态:ed 驱动程序对于非 ne2000 克隆设备已损坏,无法探测。ata 驱动程序无法附加。sio 驱动程序在第一个字符时挂起。已知 wi 驱动程序能很好地工作。Cardbus 卡大都能够正常工作,除了某些基于 de 的卡,其中不幸的是包括流行的 Xircom 卡。许多系统无法工作,因为 acpi 无法正确地为非根 pci 桥路由中断。
联系人:Warner Losh <imp@FreeBSD.org>
在 oldcard 中修复了一个重大电源 bug,该 bug 导致使用 PCI 中断的用户在启动时遇到机器挂起的问题。此修复已被包含在 4.6.1 版本中。
现在,所有支持的 cardbus 桥都会使用 cardbus 电源。这意味着我们现在在所有支持的 cardbus 桥上支持 3.3V 卡。之前,我们只在部分桥上支持这些卡,因为每个桥在通过 ExCA 寄存器编程时使用不同的 3.3V 电源控制。现在,我们通过 CardBus 桥的电源控制寄存器来操作,3.3V 卡可以正常工作。事实上,对于 CardBus 桥,所谓的 X.XV 和 Y.YV 卡将在那些支持它们的桥上工作。然而,X.XV 和 Y.YV 尚未定义,且没有桥支持它们(但桥接口已定义)。显然,后者部分尚未经过测试。
CL-PD6722 的支持略有增强。现在可以指示驱动程序使用哪种 3.3V 卡检测策略。共有三种选择:无、像 CL-PD6710 那样、像 CL-PD6722 那样。
已经提交了对 CL-PD6729 的初步支持,可以在使用 PCI 中断的 PCI 卡上使用。但是,作者的至少一张卡出现了故障。
客户端驱动程序现在可以在不直接解析 CIS 的情况下,查询卡的制造商和型号。
除了修复 bug 和更新 pccard.conf 条目外,OLDCARD 系统不再计划进行额外的工作。
链接
联系人:Martin Blapp <mbr@FreeBSD.org>
OpenOffice 1.0 的移植工作已完成。大部分与 rtld、libc 和我们的工具链相关的 showstopper 问题已解决。OO.org 的 web-browser 代码中仍有一个死锁问题。如果有人愿意帮助修复这个 bug(可能是另一个 libc_r bug),请发邮件给我!不幸的是,gcc2 支持在导入 gcc2.95.4 到 STABLE 后又一次被破坏。异常支持似乎再次出现问题;我们在 c++ 异常代码中遇到内部编译器错误。你将需要再次使用 gcc31。
由于我们的软件包集群过时且无法在短时间内构建 OO.org 包,我建立了自己的小型包集群,现在可以为 4.6R 提供 16 种语言的包。这些包可以在项目主页找到。
OpenOffice 1.0.1 的移植工作正在进行中。一个 beta 移植版本和一个包已在项目主页上提供。
联系人:Juli Mallett <jmallett@FreeBSD.org>
CSRG 发布的最终版 SCCS 已集成到项目的 CVS 仓库,并进行了广泛的修改,直到基本功能在 FreeBSD(以及其他操作系统)上正常工作。部分与标准相关的功能也已实现。
链接
联系人:John Baldwin <jhb@FreeBSD.org>
联系人:<smp@FreeBSD.org>
在过去两个月中,SMPng 项目持续稳步推进。Jeff Roberson 完成了内核 malloc() 和 free() 的 UMA 切换,适当地下推 Giant,使得 malloc() 和 free() 的调用者不再需要持有 Giant。Alan Cox 继续清理 VM 系统中的锁,在多个与 VM 相关的系统调用中下推 Giant。Jeffrey Hsu 提交了网络栈中 TCP/IP 协议控制块的锁定工作。John Baldwin 提交了对 p_canfoo() API 的更改,改为使用线程凭证来表示主题线程,并为目标进程凭证添加了适当的锁定。SMP 系统上的自适应互斥锁支持以及新的 IA32 PAUSE 指令也已在 5 月提交。内核跟踪功能 KTRACE 也进行了重构,大部分工作被推送到一个工作线程中,使得跟踪点不再需要 Giant。Andrew Reiter 也在多个系统调用中下推 Giant。
Bosko 继续为 i386 开发轻量级中断线程。大多数 turnstile 代码中的 bug 已被发现并修复;然而,turnstile 和抢占补丁暂时搁置,以便更多地集中精力修复 bug,并使 -current 在为 5.0 版本的发布做准备时更加稳定。Alan Cox 和 Andrew Reiter 正在继续上述工作。Jeff Roberson 也在修复当前 VFS 中的 vnode 锁定问题。Peter Wemm 也开始再次解决 i386 pmap 中的 SMP TLB 问题。
联系人:Andre Oppermann <oppermann@pipeline.ch>
当前的 TCP 指标缓存直接嵌入到路由表中的路由对象中。这非常低效,因为每个路由中都包含一个空的 56 字节大指标结构。除了 MTU 和过期字段外,TCP 是该结构的唯一消费者。完整的互联网路由视图(110k 路由)由于这一点带来了超过 6 Mbyte 的未使用开销。今天,Web 服务器应用程序中的命中率仅约为 10%。TCP 主机缓存将把这个完整的指标结构从路由表移到 TCP 栈中。每个条目都是一个主机条目,因此简单的哈希表足以存储这些条目。其实现方式与 TCP Syncache 非常相似。
主机缓存正在我们的服务器上进行测试,预计将在 9 月准备好提交。TCP 指标测量的结果将用于调整缓存。
链接
ZHWIN 学生的毕业论文,请查找 Olivier Mueller 和 Daniel Graf
联系人:Andre Oppermann <oppermann@pipeline.ch>
联系人:Olivier Mueller <omueller@8304.ch>
这些学生将分析五个主要瑞士报纸网站的 tcpdumps,这些网站提供了瑞士用户结构的代表性概览。瑞士的好处是,它有非常好的调制解调器/ISDN、专线、Cable、ADSL 和 3G/GSM/GPRS 用户的混合。每种互联网接入技术都有代表。目标是分析所有 TCP 会话与监控网站的行为。需要分析的参数包括 TCP 会话 RTT、RTT 方差、进出带宽延迟产品(BDP)、最大报文段大小(MSS)变化、流量控制行为、数据包丢失、数据包重传和 HTTP 流量的时序,以寻找最佳的 TCP 参数缓存方法。
如果你认为有其他有用的指标,请联系我,以便我将其加入学生的工作介绍中。该研究将在 9 月和 10 月进行。
链接
联系人:Martin Blapp <mbr@FreeBSD.org>
许多剩余的 PR 和 Bug 已经被关闭。所有相关的 RPC 补丁已提交。感谢 Alfred 和 Ian Dowese 的帮助。
Jean-Luc Richier Jean-Luc.Richier@imag.fr 提供了一个补丁,添加了对所有剩余 RPC 服务器的 IPv6 支持。请查看 ftp://ftp.imag.fr/pub/ipv6/NFS/NFS_IPV6_FreeBSD5.0.gz
和 ftp://ftp.imag.fr/pub/ipv6/NFS/0README_NFS_IPV6_FreeBSD5.0
。我们将检查他的代码,并尽快将其添加到 CURRENT。
TIRPC99 的第一次提交部分已经完成。我现在正在移植剩余部分,这样在 FreeBSD 5.0 发布时,它将基于 TIRPC99。这个工作将与 NetBSD 项目一起进行,因为他们使用与我们相同的代码库。
链接
联系人:Robert Watson <rwatson@FreeBSD.org>
联系人:TrustedBSD 讨论邮件列表 <trustedbsd-discuss@TrustedBSD.org>
TrustedBSD 项目在 5-6 月非常活跃,开发新功能、在 FreeBSD 开发者峰会上展示技术,并提高 MAC 分支的准备程度,准备将其集成到主 FreeBSD 源码中。迁移到 TrustedBSD MAC 框架中的动态标签已经完成,所有策略现在都在内核中使用动态标签。这允许策略在运行时将任意附加的安全数据与各种内核对象关联。实现了 mac_test,一个用于检查有效性的模块。将标签和对象传递给每个策略入口点,以减少策略中对标签存储的了解。实现了 mac_partition,一个简单的类似 jail 政策。将 MAC 框架适配到进程锁定中。
改进了套接字的支持:为流套接字(Unix 域、TCP)提供维护的 peerlabel,提供 accept、bind、connect、listen 的入口点。通过为 IP 分片重组队列添加标签,改进了对 IPv4 和 IPv6 的支持,并提供了分片匹配、更新、重组等的入口点。局部禁用了 KAME if_loop mbuf 连续性修复,因为它会丢失 mbuf 上的标签:我们需要确保标签被传播。对管道进行了标签化,并提供了访问控制。改进了 vnode 标签化:现在处理 devfs、pseudofs、procfs 的标签化。修复了与新 VAPPEND 标志相关的 MAC 和 ACL 交互问题。
SELinux 策略工具现在已移植到 SEBSD。SEBSD 现在为主题和文件系统对象打上标签。提供了 ugidfw 工具,用于管理 mac_bsdextended 策略的规则。
大幅减少了 diff。KSEIII 合并。主源码集成将很快开始。
更新的原型代码可以从 TrustedBSD 的 CVS 源码中获取,地址是 cvsup10.FreeBSD.org。
联系人:Poul-Henning Kamp <phk@FreeBSD.org>
联系人:Kirk Mckusick <mckusick@FreeBSD.org>
UFS2 是对著名的 UFS 文件系统的扩展,通过新的 inode 格式,增加了对“64 位无处不在”的支持,并在以后支持扩展属性,此外还包括当前 UFS 的特性:软更新和快照。
基本的 UFS2 代码已经提交,扩展属性接口和 vnode 操作的工作将继续进行。
联系人:Juli Mallett <jmallett@FreeBSD.org>
已为许多在文本处理工具中修复的 bug 添加了回归测试,同时也为 FreeBSD 用户应期待的各种非标准功能版本添加了测试。还添加了一个 m4 宏库,用于创建测试。
链接
联系人:Ken Merry <ken@FreeBSD.org>
零拷贝套接字代码于 2002 年 6 月 25 日提交到 FreeBSD -current。我不打算再做更多的补丁,尽管我会保留这个网页,因为它包含了有用的信息。
非常感谢多年来测试和审查此代码的人们。
最后更新于
这有帮助吗?