AirymaxRT v0.1.18 已发布 · 全平台预构建包 查看更新
AIRYMAXOS · AGENT-LINUX v1.0.1

智能体值得
内核级的认真对待

基于 Linux 6.6 的 agent-linux:九层内核改造严格只增不改主线,不 patch 任何一行既有代码。
CoreKern 用 4 个系统调用把调度、隔离、内存与 IPC 摆到台面上,58 个模块分属 9 个叶子仓。

// 可选层:不装 AirymaxOS,AirymaxRT 在纯用户态同样完整运行

agent-linux — bootttyS0 · 80×24
$ agent-linux boot
[ ok ] alk-addonly   linux 6.6 · 0 lines patched
[ ok ] corekern      4 syscalls registered
[ ok ] sched-tac     agent-aware · preempt-safe
[ ok ] isolation     capability · 3-tier sandbox
[ ok ] memory        cma + zswap + mglru online
[ ok ] ipc           io_uring cmd · 128B header
✔ agent-linux ready — 58 modules · 9 layers · 3 archs
Kernel base
Linux 6.6
Policy
只增不改主线
Architectures
x86_64 · ARM64 · RISC-V
Layers
9 层 · 9 叶子仓
Modules
58
01 / NINE LAYERS

九层,从体系结构到服务面

一层对应一个叶子仓,自下而上读。
每层只暴露自己的机制,上层要什么由下一层给——这九层合起来才是「agent-linux」,单独拿出任何一层都不是。

OS·L0体系结构层 · x86_64 / ARM64 / RISC-V 同一套源码
OS·L1构建与 ABI 层 · Kbuild / Kconfig + 10 个共享头文件
OS·L2系统调用层 · CoreKern 四入口,唯一桥
OS·L3调度层 · sched_tac 原生调度类,agent-aware
OS·L4隔离层 · 能力折叠 + 命名空间 + seccomp-bpf
OS·L5安全钩子层 · 纯 C LSM,逐行可审计
OS·L6内存层 · alloc_pages + mmap · CMA / zswap / MGLRU
OS·L7IPC 传输层 · IORING_OP_URING_CMD 零拷贝
OS·L8智能体服务面 · 对用户态交付的机制总和
02 / SYSCALL SURFACE

只有四个入口

用户态能向内核要的东西被收得很紧:调度、隔离、内存、IPC。
四个入口之外没有后门,也没有需要猜测的内核意图。

01 agent_schedule声明任务的实时性意图与依赖关系,交给 sched_tac 原生调度类决策。智能体任务不必等 CFS 的时间片轮转,也不靠调高 nice 值凑合。 SCHED
02 agent_isolate为进程申请一个最小权限沙箱:能力折叠 + 命名空间 + seccomp-bpf 三层叠起来。越权访问在系统调用入口就被拒,而不是等到出事再翻日志。 ISOLATE
03 agent_memory申请连续物理页并映射到用户态,走 alloc_pages 绕过 slab 的碎片整理延迟;CMA 池保大块可用,MGLRU 精准识别冷热页。 MEMORY
04 agent_ipc基于 IORING_OP_URING_CMD 的零拷贝通道,用户态提交的请求直达驱动,128B 固定消息头端到端约 10ns。 ~10NS
03 / DECISIONS

六个不妥协的技术选型

每一条都是「本可以用现成方案,但我们算过代价」的结果。
代价写在右边,收益写在下面。

01SCHED_TAC

原生调度类,而不是可加载框架

sched_ext 让调度策略能以 BPF 程序热插拔,代价是每次调度决策都要过一次 JIT 后的间接跳转。智能体任务的实时性预算里放不下这一跳,所以我们把 sched_tac 写进内核代码路径本身。

  • IN-TREE DECISION
  • NO BPF TRAMPOLINE
  • PREEMPT-SAFE
sched_tac — pick_nextttyS0 · 80×24
$ agent-linux sched stat
→ sched_ext   rejected · bpf hop in hot path
● sched_tac   in-tree class
│ pick_next   direct · no trampoline
│ preempt    latency budget honored
✔ decision made inside kernel path
02PURE C LSM

安全钩子用纯 C,不用 BPF LSM

策略热更新确实方便,但安全判定的正确性不该依赖验证器的黑盒结论。纯 C 实现的 LSM 每一行都能读、能审、能对着规范逐条核对,必要时可形式化验证。

  • LINE-BY-LINE AUDIT
  • NO VERIFIER TRUST
lsm — hooksttyS0 · 80×24
$ agent-linux lsm status
● hooks       pure C, 10 sites
→ audit       every branch readable
│ verifier    not in trust path
✔ policy      deny by default
03MEMORY PATH

物理页直分配,绕开碎片整理

alloc_pages 直接分配物理页再 mmap 进用户态,避开 slab 分配器的碎片整理延迟。往上接三条线:CMA 连续池保大块可用,zswap 压住冷页,MGLRU 多代回收精准分辨冷热;再往外是 CXL 内存池化与 PMEM 持久内存。

  • CMA
  • ZSWAP
  • MGLRU
  • CXL
  • PMEM
memory — poolsttyS0 · 80×24
$ agent-linux memory pools
● cma        contiguous · large alloc ready
● zswap      cold pages compressed
● mglru      multi-gen aging
→ alloc_pages → mmap  bypass slab latency
│ cxl        pooled across nodes
│ pmem       power-loss safe
04ADD-ONLY

只增不改,主线升级能直追

这是九层里最硬的一条约束:不修改 Linux 任何一行既有代码,所有 agent 机制以独立模块叠加。听起来是自我限制,实际买的是长期可用——社区主线出安全更新,我们直接跟上,不必每次重打一套 patch。

  • 0 LINES PATCHED
  • UPSTREAM-FOLLOWING
alk — diffttyS0 · 80×24
$ alk diff --against v6.6
│ modified lines  0
│ added modules   58
● nine layers are pure addition
✔ upstream 6.6.y security updates apply clean
05MULTI-ARCH

三架构并行,同一套源码

x86_64、ARM64、RISC-V 三条构建线每次提交全量并行编译,同一份源码、同一套测试。不做「只在 x86 上跑通,其它架构留着适配」——端侧智能体大多数跑不到 x86 上。

  • x86_64
  • ARM64
  • RISC-V
  • PER-COMMIT
ci — archesttyS0 · 80×24
$ alk build --arch all
● x86_64   pass  defconfig + full
● arm64    pass  defconfig + full
● riscv    pass  defconfig + full
✔ one tree · one test suite · three arches
06RT SYNERGY

与 AirymaxRT 的接缝只有一层

内核态给地基,用户态搭七层堆栈,中间只有那四个系统调用。128B 消息头与 64-bit 能力 Badge 端到端传递,两侧对同一件事用同一套语义——接缝薄到出了错能一眼看清在哪边。

  • 128B HEADER
  • 64-BIT BADGE
  • E2E CHECK
seam — kernel↔rtttyS0 · 80×24
$ alk seam verify
● header     128B fixed, e2e <10ns
● badge      epoch · random tag · perms
→ semantics  shared headers [SC] ×10
✔ one thin seam
04 / IRON-9 V3

四层共享模型

AirymaxOS 与 AirymaxRT 之间共享什么、不共享什么,由 IRON-9 v3 说清楚。
四级分层,每一级的边界都能验。

[SC] Fully shared

完全共享

10 个核心头文件定义 kernel ↔ agentrt 的 ABI。两侧编译时直接 include,接口变更同步发布,不允许一边改了另一边不知道。

10 HEADERS · ABI

[SS] Semantic

语义同源

调度语义、安全模型、IPC 传输、记忆模型:两侧各自实现,但语义完全一致,用同一组一致性测试互跑。

CROSS-RUN SUITE

[IND] Independent

完全独立

io_uring fastpath、纯 C LSM、Kbuild / Kconfig 只在内核侧。各自演进,不共享一行代码,只共享接口契约。

CONTRACT ONLY

[DSL] Degraded

降级生存

内核态不可用时用户态不塌:38 个 POSIX 错误码 + printk + 最小 128B IPC 撑住降级模式,核心功能继续跑。

38 ERRNO · 128B MIN

05 / OPEN STANDARDS

接口标准开放,第三方可认证

标准不是文档里的形容词,是可执行的一致性测试套件。
任何第三方实现跑完同一套测试,就能拿到对应等级的认证。

01 七大标准主题Agent 运行时 · IPC 协议 · 安全模型 · 记忆卷载 · 认知循环 · 调度 · 系统调用。每个主题一套一致性测试,覆盖智能体运行时的完整生命周期。 7 TOPICS
02 一致性测试套件测试与标准同仓发布、随版本走。跑什么、怎么跑、什么算通过,全在仓库里,不接受私下发放的测试。 IN REPO

从内核到用户态,一层都不少

AirymaxOS 九层内核态 + AirymaxRT 七层用户态 = 完整的智能体运行时堆栈。
两者都能单独跑,合起来是完整形态。