2026 年 8 月开发月报
2026 年 8 月,TGOSKits 把 7 月划定的模块边界进一步落实到工作区布局、运行时语义和 CI 证据链上。全月 dev 分支共产生 262 次非合并提交,GitHub 仓库合并 264 个 PR,其中 262 个直接进入 dev,涉及 27 个唯一提交作者邮箱。本月的主要工作包括:按分层把文件系统、内存和驱动软件包迁入独立目录并统一依赖与锁原语;删除 irq/multitask 可选 feature,让中断与多任务成为固定能力;以解析后的设备图重建 Axvisor 虚拟设备路径,并把 AxVM 迁移到真实 Rust std;为 StarryOS 引入 NixOS Stage-2 用户态,并集中校准系统调用 ABI 的参数宽度与输入边界;把网络栈切换到队列级 NAPI 运行时;CI 则改为按改动影响选择检查项。
总览
| 指标 | 数据 |
|---|---|
dev 非合并提交数 | 262 |
| 全仓库合并 PR 数 | 264 |
直接合入 dev 的 PR 数 | 262 |
| 唯一提交作者邮箱数 | 27 |
| 涉及 PR 编号范围 | #1565 ~ #2246 |
GitHub 的 264 个合并 PR 中,除 262 个 dev PR 外,还有 PR #2208 与 PR #2212 进入调度器重构工作分支 codex/refactor-ax-task-from-1596。
与 7 月相比,非合并提交从 217 增至 262,合并 PR 从 221 增至 264,唯一作者邮箱从 24 增至 27。本月有 31 项提交以 refactor 开头,其中相当一部分是整批删除:irq/multitask feature、旧分配器、no_std 兼容分支和重复的锁实现被移除;长期打开的调度器重构 PR #1775 的多个前置改动也在本月落地。
按“每个提交是否触及某一级目录”统计,8 月最活跃的区域如下:
| 一级目录 | 涉及提交数 | 主要内容 |
|---|---|---|
os/ | 145 | StarryOS、ArceOS 内核与运行时、调度前置重构 |
test-suit/ | 113 | Starry/ArceOS 测试套件整合与新增 carpet |
scripts/ | 80 | axbuild/xtask、CI 脚本与镜像存储 |
docs/ | 72 | 架构文档重构与站点整理 |
virtualization/ | 61 | AxVM、vCPU、vPCI 与虚拟设备 |
drivers/ | 48 | 中断控制器、SD/MMC、USB 与串口 |
.github/ | 48 | 影响矩阵、清单路由与运行器 |
components/ | 37 | cpu-local、ax-sync、运行时与通用组件 |
platforms/ | 29 | someboot、串口与平台时钟 |
fs/ | 27 | ax-fs-ng、axfs-ng-vfs 与 rsext4 |
apps/ | 25 | NixOS、板级应用与基准测试 |
net/ | 17 | ax-net 队列级 NAPI 运行时 |
memory/ | 13 | 页表泛化、分配器收敛与 DMA |
贡献者排行
| 贡献者 | 提交数 | 主要方向 |
|---|---|---|
| 周睿 (ZR233) | 99 | AxVM/Axvisor 设备图与 vCPU、运行时与调度前置重构、CI 影响矩阵与项目技能 |
| ZCShou | 30 | 工作区目录重组、文档重构、页表泛化与镜像存储 |
| Jingming Liang (eprogressing) | 30 | StarryOS 系统调用 ABI 参数宽度与边界校验系列 |
| Mr. why (silicalet) | 18 | NixOS Stage-2 用户态、挂载上下文、signalfd/pidfd 与 Unix socket |
| szy (bullhh) | 11 | Axvisor 浏览器控制台、guest UART 直通、Orange Pi 5 Plus 机器人流测试与 RK3588 guest |
| Joseph Joshua Anggita | 10 | futex 分片与快路径、COW 修复、调度器内省与系统调用性能 |
| Josen-B | 9 | AxLoader KVM/HTTP boot、IVC、rsext4 修复与模拟设备文档 |
| YanLien | 7 | 多 VM 控制台、guest FDT、GICv2 目标掩码与 ROCK 4D guest |
| YoungCloud | 6 | vPCI 基础、OVMF ACPI 验证、virtqueue 加固与 x86 MMIO 解码 |
| github-actions[bot] | 6 | release-plz 自动发布与版本维护 |
| Ivans (Ivans-11)、aptacc2421 | 5/人 | UVC/USB/TTY 修复;axum 管理面与 eventfd/epoll |
| 其他贡献者 | 若干 | SD/MMC、串口、板级测试、ABI 修复与文档 |
一、仓库设施
工作区按分层重组
8 月上半月完成了一轮工作区目录重组,使 crate 位置与 TGOSKits 分层约定一致:可复用的文件系统、内存和驱动软件包分别迁入 fs/、memory/ 与 drivers/,StarryOS 专属的 starry-process、starry-signal 和 starry-vm 回到 os/StarryOS;两个旧分配器被整体删除,页表实现统一收敛到 page-table-generic 并改用通用命名。工作区依赖与锁原语同步统一:所有 crate 共享同一份依赖表,锁实现收敛进 ax-sync 并由 ax-task 复用,跨模块错误改为各领域自有的类型边界。
- PR #1867 — 文件系统 crate 迁入
fs/ - PR #1868、PR #1878 —
axalloc迁入memory/ax-alloc,删除ax-allocator与bitmap-allocator - PR #1911、PR #1937 — 页表执行统一到
page-table-generic并改为通用命名 - PR #1951 — 块设备与网络驱动 crate 迁入
drivers/ - PR #1974 —
starry-process、starry-signal、starry-vm迁入os/StarryOS - PR #1860、PR #1956、PR #1962 — 统一工作区依赖,锁原语收敛到
ax-sync并移入ax-task - PR #2024 — 引入领域自有的错误边界
这组迁移之后,crate 的目录位置即说明其复用层级,跨目录的循环引用和重复实现更容易在评审中被发现,新增组件也不再需要在多个位置之间选择落点。
CI 影响矩阵与清单路由
CI 从“固定任务表”转向“声明清单 + 影响路由”。检查项迁移到 manifest v3 描述并模块化,PR 测试矩阵按改动影响选择要运行的检查;clippy 收窄到受影响目标,重复事件去重,Cargo.lock 作为软影响输入,受保护分支使用独立队列。镜像存储、运行器准备与 release 前置检查也得到整理,多起近期测试不稳定问题在同月修复。
- PR #2097 — 按影响选择 PR 测试矩阵
- PR #2105、PR #2069、PR #2114 — manifest v3 路由、检查模块化与 CI 工作流重构
- PR #2025、PR #2013 — 镜像存储重构与 self-hosted 运行器本地存储路径
- PR #2126、PR #2134、PR #2022、PR #2151 — 收窄 clippy 范围、host-test 目标 lint 与增量检出历史
- PR #2122、PR #2140、PR #2136、PR #2143、PR #2144 — 事件分组去重、软影响输入与受保护分支队列
- PR #2119、PR #2102、PR #2246 — 运行器规划、容器镜像与 initramfs 构建依赖
- PR #1907、PR #2112、PR #2189、PR #2074 — QEMU smoke、aarch64 失败匹配、dev 测试与系统测试清理稳定性
- PR #1969、PR #2018、PR #1964 — Axvisor 构建产物保留、rootfs 写入隔离与构建噪声
- PR #2127、PR #1930、PR #1837 — 简化内部依赖发布检查,release 前统一
ax-errno并防止过期依赖锁 - PR #1939、PR #1959 — Axvisor 测试任务均衡与 ovmf-acpi-svm 迁至 self-hosted AMD CI
release-plz 在 8 月完成 6 轮自动 release 维护,发布流程与上述门禁衔接保持稳定。
测试套件整合与项目技能
StarryOS 与 ArceOS 的测试套件合并为统一布局,axtest 标准化 Cargo 与 QEMU 测试流程,宿主层与 QEMU 层测试分离。仓库指南同步迁移为按任务语义组织的项目技能:开发规范、feature 评审、syscall 兼容与 humanizer 等技能取代原先分散的指南文档,本地验证入口统一为 cargo xtask 命令族;PR 审查流程改为以当前提交的 CI 结果为第一证据。
- PR #2173 — 合并 Starry 与 ArceOS 测试套件
- PR #2088、PR #2240 — 标准化 axtest 的 Cargo/QEMU 流程,分离宿主与 QEMU 测试层
- PR #2019 — 受限 TCG 下守护任务 IPI 测试进度
- PR #2095、PR #1886 — feature 开发与 syscall 兼容指南、humanizer 技能
- PR #2236、PR #2215、PR #2216、PR #2218 — 指南迁移为项目技能、布局标准化与 xtask 验证命令
- PR #2111、PR #1960、PR #2187、PR #2177 — 中文审查指引、单 PR 审查流程与以 CI 为准的验证
文档重构
站点文档删并了组件库与开发指南类页面,按文件系统、内存与网络、Axvisor guest 与模拟设备等主题重写为架构参考;7 月月报也在 8 月初发布。
- PR #2198 — 文件系统架构完整文档
- PR #2104 — ax-net 网络与内存架构图
- PR #2103、PR #2084 — Axvisor guest 架构拆分与模拟设备框架参考
- PR #2099、PR #2083、PR #2087、PR #1943 — 文档一致性、内存架构与侧边栏、运行时文档合并与站点结构精简
- PR #1792、PR #1828 — 架构文档目录化与 AxVM 生命周期权威文档
- PR #1858 — 2026 年 7 月开发月报
