跳转至
ACTIVE

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.mduser_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.md 5 铁律 + 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.ps1 v2.0 自动追加新行 · 不删除历史


6. 维护说明

  • 本文件由 Cline-AIOS 主写 · scripts/aios-standup-fetch.ps1 v2.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 进程拓扑