FreeBSD 2002 年 5-6 月状态报告

原文链接: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) 已支持 jn 标志,waitpid(2) 现在支持 WCONTINUED 选项,并已提交了 fstatvfs() 和 statvfs() 的实现。utmpx 的实现正在进行中,旨在解决当前 utmp 存在的一些主要问题。几个头文件已更新为与 POSIX.1-2001 一致,包括:<netinet/in.h><pwd.h><sys/statvfs.h><sys/wait.h>

链接

FreeBSD GNOME 项目主页

联系人: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 移植指南中撰写。

链接

FreeBSD Java 项目

联系人: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。

链接

http://www.freebsd.org/releng

联系人:<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 安全官员网页上公开可见。

链接

IA64 项目更新和信息

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

IA64 进展缓慢。我们已获得来自 Intel 的原型 4 路 Itanium2 系统,并成功使其运行到能够访问磁盘和网络的阶段,并启用了 SMP。我们遇到了一个大问题,涉及 ACPI2.0 和 PCI 路由表条目在 pci-pci 桥后,且短期内没有解决方案。已经提交了多个工作中项目到 CVS,具体包括对执行 32 位 i386 二进制文件的更完整支持以及 Marcel Moolenaar 的 EFI GPT 工具原型。

链接

项目 URL

联系人: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 源码。

链接

该项目的讨论 Yahoo! 小组网站

联系人: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 的补丁可以从作者处获得。

链接

项目网页

项目网页(日语)

SNAPSHOT 匿名 FTP 区域

FreeBSD/i386 发布分支快照

联系人: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 给该项目,请通过电子邮件与我联系获取更多详情。

链接

jpman 项目

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

对于 4.6-RELEASE,我们发布了 ja-man-doc-4.6.tgz 包,该包与 4.6-RELEASE 基本系统手册页保持同步,除了 perl5 页面(jpman 项目不维护它们)。第 3 节的更新已完成 88%。

链接

KAME 项目网页

IPv6 展示在 Network+Interop2002

IPv6 展示在 Network+Interop2002(详细,但为日文)

IPv6 展示的图片

联系人: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 的网页(未提及,因为它当前已损坏)。

链接

libh 新的开发网页

磁盘编辑器运行中的首次快照

联系人: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 的进展将发布在开发页面上。

链接

中断 p4 分支

联系人: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。目前正在进行锁定其余栈的工作。

链接

一些旧的 mb_alloc 内容

联系人: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 系统不再计划进行额外的工作。

链接

OpenOffice.org FreeBSD 移植主页

联系人: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 月进行。

链接

TIRPC for FreeBSD 主页

联系人: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.gzftp://ftp.imag.fr/pub/ipv6/NFS/0README_NFS_IPV6_FreeBSD5.0 。我们将检查他的代码,并尽快将其添加到 CURRENT。

TIRPC99 的第一次提交部分已经完成。我现在正在移植剩余部分,这样在 FreeBSD 5.0 发布时,它将基于 TIRPC99。这个工作将与 NetBSD 项目一起进行,因为他们使用与我们相同的代码库。

链接

TrustedBSD 主页

联系人: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。我不打算再做更多的补丁,尽管我会保留这个网页,因为它包含了有用的信息。

非常感谢多年来测试和审查此代码的人们。

最后更新于

这有帮助吗?