RUNQ · AIOS 就绪队列(v1.0)
状态:
active(v1.0 完整版 · 配合 ADR-AIOS-06 v0.3 全栈 10 进程拓扑落地)更新频率:每日 standup 由 AIOS 跑 §1 调度算法刷新 · commit-msg hook 触发 K-thread state 变更
真值源:
processes/<pid>/PROCESS.md的user_threads[].state字段是权威 · 本文件是这些字段的就绪队列视图关联:
PCB.md§0.2 当前最高优先级 U-thread /agents/Scheduling-Algorithm.md完整 6 步调度算法图例: - U-thread state:
ready⚪ /running🟢 /blocked🔴 /zombie✅ - 优先级:P-1(最高 · HARD-DEADLINE 临时升)/P0/P1/P2(最低) - Affinity:hot(最近跑过该 K-thread)/cold(无亲和)v1.0 关键变化(2026-05-26): - T20 落地完整就绪队列(11 项当前候选 ready/running U-thread) - §5 调度统计 v1.0(候选 11 / 已派发 4 / 已 zombie 6 / 阻塞 6 / 仲裁 0) - 与 PCB.md §0.2 + processes/
/PROCESS.md 全部对齐
1. 调度算法摘要(6 步 · 详见 agents/Scheduling-Algorithm.md)
每日 standup 由 AIOS 自动跑一次,产出 §2 派发表:
Step 1 · 过滤:state == ready 且 blocked_on == null 的 U-thread 进入候选集
Step 2 · 优先级排序:P-1 > P0 > P1 > P2(HARD-DEADLINE 临时 +1)
Step 3 · K-thread 可获取性校验:
对每个候选 U-thread · 检查 occupies = [Kx, Ky, ...] 中所有 K-thread state
全部 sleeping → ✅ 可派发
任一 running → ❌ 跳过 · 等下一轮(进 §3 阻塞队列)
Step 4 · CPU 选择:
缓存亲和优先(最近跑过该 K-thread 的 CPU)
同亲和等级选最闲 CPU
无亲和则按主战场表落点(并发域 A 主战场 / 副战场 / 机动)
Step 5 · 派发执行:
U-thread state: ready → running
occupies 的所有 K-thread state: sleeping → running(锁定写权限)
Step 6 · 回收(commit-msg hook 触发):
U-thread 完成最终 commit · state: running → zombie
occupies 的所有 K-thread state: running → sleeping(释放写权限)
归档 user_threads/U<N>-<name>/ → archive/(可选 · 长期 zombie 才归档)
2. 就绪队列(派发表 · v1.0 · 11 项当前候选)
排序规则:优先级(P-1 → P2)> HARD-DEADLINE 加 +1 临时优先级 > 同级别按 hot affinity 优先 > 派发 ETA 早者优先
| 优先级 | PID.UID | U-thread Name | state | Occupies | Bound CPU | Affinity | 备注 |
|---|---|---|---|---|---|---|---|
| P-1 | P_arch.ADR-06.U-all | AIOS v7 重构整体 | 🟢 running | 多个(P_arch 无固定 K) | Cline-AIOS | hot | 本会话 · T17-T21 推进中 |
| P0 | P_contracts.U-§1-§3 | B1 protocol-v1 草稿 §1-§3 | 🟢 running | P_contracts.K1 | ClaudeB | hot | 写独占 · 沿 B1-B3 链 |
| P0 ⚠️ | P_contracts.U-freeze-tag | B4 protocol-v1 freeze + tag | ⚪ ready | P_contracts.K1 | ClaudeB(+Continue) | hot | ⚠️ Day 5 EOD HARD-DEADLINE +1 · 等 B1-B3 zombie 释放 K1 |
| P0 | P5.U-refresh-link | refresh_link 协议实现 | 🟢 running | P5.K4-websocket + P5.K5-routes | Copilot-Worker | hot | work-copilot 14 commit 待 merge · ADR-05 P0 后端 |
| P0 ⚠️ | P2.U5-module-uid-namespace | Module UID 32 位 namespace | ⚪ ready | P2.K7 + P_contracts.K1 + P0.K-shared-types | ClaudeB | hot | ⚠️ 必须 contract-v1 freeze 前完成 · ADR-04 P0 |
| P0 | P2.U3-widget-registry | widget L1/L2/L3 注册表 | ⚪ ready | P2.K7 | ClaudeA/B | cold | ADR-04 P0 · 三项可并行 |
| P0 | P2.U4-module-mode-simplify | ModuleMode 4→2 简化 | ⚪ ready | P2.K7 + P2.K6 | ClaudeB | hot | ADR-04 P0 |
| P0 | P3.U-test-fix-post-p0 | post-P0 测试修复 | ✅ zombie(待确认) | P3.K7 | ClaudeC | hot | T19 标记 · last_commit 待 work-copilot merge 后回填 |
| P1 | P1.U1-xilink-finalize | XiLink 收尾 Step A-D | 🟢 running | P1.K3 + P1.K5 + P1.K6 | ClaudeA | hot | Step A 派发中 · 等 work-cline merge |
| P1 | P3.U4-test-aux-extract | 抽公共 test-aux 4 组件 | ⚪ ready | P3.K3 + P0.K-shared-test-aux | ClaudeC/D | cold | ★ 阻塞 P4 解锁 · ETA Day 9 |
| P2 | P4.U1-shell-inject | XiTest 入口注入 | 🔴 blocked | P4.K1 + P4.K5 + P0.K-shared-test-aux | ClaudeD | cold | blocked(等 P3.U4 完成 + K-shared-test-aux 释放) |
2.1 当前最高优先级摘要(从 PCB.md §0.2 同步)
- P-1(1 项):P_arch.ADR-06.U-all(本会话 · running)
- P0(7 项):4 项 running/zombie + 3 项 ready 等派发 · 含 2 项 ⚠️ HARD-DEADLINE
- P1(2 项):1 项 running + 1 项 ready(P3.U4 是 P4 解锁前置)
- P2(1 项):P4.U1 blocked
详见 PCB.md §0.2 当前最高优先级 U-thread 表
2.2 K-thread 可获取性校验结果(Step 3)
当前 running 的 K-thread(占用中 · 详见 PCB.md §2):
P5.K4-websocket+P5.K5-routes→ 被 P5.U-refresh-link 占用P_contracts.K1-protocol-v1→ 被 P_contracts.U-§1-§3(B1) 占用P3.K7-stores→ 被 P3.U-test-fix-post-p0 占用(zombie 后释放)P2.K1+P2.K7(部分)→ 被 P2.U1-shell-inject 占用P1.K3+P1.K5+P1.K6→ 被 P1.U1-xilink-finalize 占用
Step 3 校验结果: - ✅ 可立即派发:P2.U3-widget-registry(K7 占用待 U1 释放后)、P2.U4-module-mode-simplify(同上) - ⏳ 等前置 zombie:P_contracts.U-freeze-tag(等 B1-B3 链)、P2.U5-module-uid(等 K7 释放) - ⏳ 等机会窗口:P3.U4-test-aux-extract(等 P3 P1 三项 zombie 释放 ClaudeC) - ❌ 阻塞:P4.U1-shell-inject(进 §3 阻塞队列)
3. 阻塞队列(Step 3 校验失败的 U-thread)
当前已知阻塞 6 项:
| PID.UID | U-thread Name | 阻塞原因 | 阻塞起始 | 升级路径 |
|---|---|---|---|---|
| P4.U1-shell-inject | XiTest 入口注入 | 等 P3.U4-test-aux-extract 完成 + P0.K-shared-test-aux release | 2026-05-24 | 顺序依赖 · 非阻塞 · ETA Day 11 |
| P4.U2 ~ U6(全部 5 项) | XiTest 全部 5 任务 | 同上 + 局部依赖 P4.U1 完成 | 2026-05-24 | 同上 |
| P3.U4-test-aux-extract | 抽 test-aux 公共组件 | (软依赖)P3 主线 P1 三项收尾后才适合派 | 2026-05-26 | 优先级 P1 · 待 P3 P1 三项 zombie 后释放 ClaudeC |
| P_contracts.U-§4-§6(B2) | protocol-v1 §4-§6 草稿 | 等 U-§1-§3(B1)zombie 释放 K1 写权限 | 2026-05-19 | 顺序依赖 · ClaudeB 单线写 |
| P_contracts.U-§7-§9(B3) | protocol-v1 §7-§9 草稿 | 等 U-§4-§6(B2)zombie | 2026-05-19 | 同上 |
| P_contracts.U-freeze-tag(B4) | protocol-v1 freeze + tag | 等 U-§7-§9(B3)zombie | 2026-05-19 | ⚠️ HARD-DEADLINE Day 5 EOD |
注:P4.U1 同时出现在 §2(P2 优先级 blocked 行)和本表 · §2 显示候选状态 · 本表显示阻塞原因
4. 仲裁队列(冲突待人类拍板)
当前无活跃仲裁。仲裁触发 → 详见
agents/Conflict-Resolution.md5 铁律 + 4 级升级链。
| Topic | A 方 U-thread | B 方 U-thread | 升级层级 | 状态 |
|---|---|---|---|---|
| - | - | - | - | - |
5. 调度统计(v1.0 · 每日 standup 自动累计)
| 日期 | 候选数 | 已派发 | 已 zombie | 阻塞数 | 仲裁数 | 备注 |
|---|---|---|---|---|---|---|
| 2026-05-26 | 11 | 4 | 6 | 6 | 0 | v1.0 初版 · 全栈 10 进程拓扑首日 |
5.1 v1.0 详细分解
候选 11 项(§2 派发表): - 1 项 P-1(P_arch.ADR-06.U-all · Cline-AIOS) - 7 项 P0(2 项 running + 1 项 zombie + 4 项 ready · 含 2 ⚠️ HARD-DEADLINE) - 2 项 P1(1 项 running + 1 项 ready) - 1 项 P2(blocked)
已派发 4 项(state=running): - P_arch.ADR-06.U-all(Cline-AIOS) - P_contracts.U-§1-§3(ClaudeB) - P5.U-refresh-link(Copilot-Worker) - P1.U1-xilink-finalize(ClaudeA) - (P2.U1-shell-inject ClaudeB 部分 · §2 未单列 · 详见 PCB.md §2)
已 zombie 6 项里程碑 commit(对齐 PCB.md §5.1):
- P0.U4-workspace-file-system(25a0bf3)
- P3.U1-tuning-mode-system Step 3+4(88a7701)
- P3.U2-tuning-mode-ui(a877d6f)
- P3.U3-xipreset-xiprofile(edd75d7)
- P2.U2-xml-decommission(551f3b7)
- P5.U-refresh-link 集成 partial(4578f16)
- (额外:P3.U-test-fix-post-p0 T19 标记 · last_commit 待回填)
阻塞 6 项(§3):P4.U1 + P4.U2-U6 合并 + P3.U4 + B2 + B3 + B4
仲裁 0 项:沿用 ADR-AIOS-01 v3 写独占规则 · 当前无跨栈方案分歧
5.2 历史累计(后续每日 standup 追加)
后续每日 standup 由
aios-standup-fetch.ps1v2.0 自动追加新行 · 不删除历史
6. 维护说明
- 本文件由 Cline-AIOS 主写 ·
scripts/aios-standup-fetch.ps1v2.0 扫 commit 抽[pid=][uid=][occupies=]自动刷新 - 优先级调整必须经 ADR(P-1 临时升级)或 HARD-DEADLINE 自动 +1 规则 · 不允许手动改 §2 优先级列
- 阻塞队列(§3)中的 U-thread 不进 §2 派发表 · 仅在 K-thread 释放或前置 zombie 时回流
- 仲裁队列(§4)激活时 · 同时升级到 ADR(写 ADR-AIOS-NN 或 ADR-AIOS-arbitration-NN)
- 每日 standup 后 §5 累计统计行追加 · 不删除历史
- §2 派发表的 11 项候选会随 standup 动态调整 · 但 v1.0 锁定 2026-05-26 当日基线
| 版本 | 日期 | 变化 |
|---|---|---|
| v0.1(骨架) | 2026-05-26 | 初始骨架 · 仅结构定义 + 阻塞队列(已知 6 项)+ 算法摘要 · 占位 v1.0 派发表 |
| v1.0 | 2026-05-26 | T20 落地 · 11 项当前候选 ready/running U-thread + §5 调度统计 v1(候选 11 / 派发 4 / zombie 6 / 阻塞 6 / 仲裁 0)· 配合 PCB.md §5 真值源对齐说明 + ADR-AIOS-06 v0.3 全栈 10 进程拓扑 |