Core Capabilities
可组合的系统软件基础能力
工作区按领域划分出 components/、memory/、drivers/、fs/、net/、virtualization/ 与 platforms/ 七类目录,每一类只暴露明确的能力边界。三套系统按各自需求选择组合这些能力,组件本身不绑定任何一套系统的运行语义。
统一工程编排
cargo xtask 是三套系统共用的命令入口,覆盖配置生成、构建、镜像处理、QEMU 与板卡运行以及分层测试,同一条命令在不同目标架构间保持相同的参数约定与判定方式。
内存基础能力
memory/ 收录分配器、地址类型、memory set、多架构页表以及 DMA 与 MMIO API,把物理地址转换和资源映射的差异收敛在明确的能力边界内。
任务与调度原语
ax-task、axsched、cpumask、ax-lazyinit 与 timer_list 提供与具体系统无关的任务调度核心、调度算法、CPU 掩码、惰性初始化和定时事件。
文件与进程组件
axfs-ng-vfs、ax-fs-ng 与 rsext4 组成文件系统层,StarryOS 侧的 starry-kernel、starry-signal 与 starry-vm 承载进程、信号和地址空间语义。
虚拟化基础对象
virtualization/ 提供 axvm、axaddrspace 与 axdevice 等基础对象,以及 arm_vgic、riscv_vplic、x86_vlapic 虚拟中断控制器,由 Axvisor 组合成完整的 VMM。
设备能力接口
dma-api、mmio-api、irq-framework 与 drivers/interface/ 下的 rdif-* 接口 crate 描述设备能力,使具体驱动实现不必依赖某一个系统的运行时。
Systems
面向不同运行目标的三套系统
三套系统各自维护启动入口、配置集合、运行时语义和测试套件,同时复用同一批组件与 ArceOS 基础能力。每张卡片自下而上展示该系统的复用基础、实现主体和运行目标。
Architecture
四层职责架构
四层描述的是职责归属而不是目录等级:场景入口选择能力与运行配置,系统语义定义接口行为和生命周期策略,领域能力沉淀可跨系统复用的实现,平台边界隔离 CPU、固件与板级差异。层与层之间只通过依赖声明、trait 和能力接口连接,完整依赖关系以组件关系图和构建配置为准。
场景入口
定义目标系统的能力选择、构建参数与运行场景,同一批领域实现通过不同的 package 与 feature 组合装配成面向该场景的镜像。
feature / package selectionboard / VM configuration系统语义
实现内核生命周期、接口语义与运行策略:ArceOS 的模块化运行时、StarryOS 的 Linux 兼容语义和 Axvisor 的 VMM 都位于这一层。
OS lifecycle / syscall semanticscrate composition / policy领域能力
沉淀跨系统复用的内存、调度、I/O 与虚拟化机制,通过 no_std crate 与 trait 暴露能力,不引入具体系统的运行策略。
no_std reusable cratestraits / capability APIs平台边界
适配 CPU 架构、固件、板级资源与设备访问,把启动、内存布局、时钟、中断和设备发现事实转换为上层可消费的稳定接口。
arch / board adaptersMMIO / DMA / IRQ contracts职责分层与实际依赖
四层用于解释代码应该放在哪里、允许依赖谁,不是严格的 Cargo 拓扑。例如 axvm 依赖 ArceOS 的运行时服务,部分领域组件之间也存在直接依赖;评估改动影响时,应核对直接依赖与 feature 条件,而不是只看目录层级。
水平切分的复用边界
同一层的 crate 通过 trait 或能力接口解耦,系统以组合方式获取能力,而不是通过继承或全局单例;新的系统集成需求应落在接口层,而不是扩散到具体实现。
副作用止于边界
MMIO、DMA、IRQ、固件与调度能力只通过显式 API 跨层传递,避免组件内部隐式访问硬件。能力契约可以隔离大部分系统与平台差异,但具体耦合仍需按组件逐一审查。
Component Workspace
Git Subtree 组件同步工作流
scripts/repo/repos.csv 登记 41 条组件来源映射,每条记录包含上游地址、分支、目标目录与分类;其中 39 个目标目录当前存在,另有 2 条记录指向已移除的目录,同步前需要先清理。同步动作由维护者通过 repo.py 显式执行,组件改动不会自动写回上游仓库。
axcpucomponents/axcpuarm_vgicvirtualization/arm_vgicrockchip-npudrivers/npu/rockchip-npuaxcpu独立仓库arm_vgic独立仓库rockchip-npu独立仓库$ python3 scripts/repo/repo.py list查看组件仓库映射与同步状态$ repo.py pull$ repo.py pushrepos.csvHardware Enablement