自底向上的依赖约束
下层 crate 不依赖上层实现,组件层不引用系统层代码,平台层不感知具体系统。依赖方向单一,修改影响可控。
Core Capabilities
构建自动化、组件化架构、内存安全、多架构支持、镜像闭环与分层验证——覆盖从开发到发布的完整链路。
cargo xtask 子命令覆盖构建、运行、测试与发布,单条命令切换系统路径与目标架构。
内存分配、调度器、文件系统、网络栈等以独立 crate 提取,系统通过组合 crate 而非 fork 衍生。
内核、驱动与虚拟化路径均基于 Rust 实现,在编译期消除缓冲区溢出与数据竞争等常见系统漏洞。
riscv64、aarch64、x86_64、loongarch64 均可通过 xtask 一键构建与 QEMU 运行,接口统一而适配独立。
从配置生成、交叉编译、镜像打包到 QEMU 启动与快照管理,构建产物可追溯、可复现。
Host 侧 cargo test 与 clippy 先行,系统级 QEMU 运 行验证跟进,板级回归兜底,验证粒度逐层放大。
Architecture
场景入口依赖系统形态,系统形态依赖共享组件,共享组件依赖平台抽象——每一层的变更范围可通过依赖图精确界定。
下层 crate 不依赖上层实现,组件层不引用系统层代码,平台层不感知具体系统。依赖方向单一,修改影响可控。
同一层的 crate 通过 trait 或接口抽象解耦,系统通过组合而非继承获取能力,新增系统路径无需修改现有组件。
Host 测试覆盖组件层,QEMU 运行覆盖系统层,板级回归覆盖平台层——验证粒度与架构层级一一映射。
Component Workspace
每个组件同时维护独立仓库与工作区副本,通过 repo.py pull/push 双向同步,集成验证通过后才回推上游。
axallocatorcomponents/arm_vcpucomponents/rknpudrivers/npu/axallocator独立仓库arm_vcpu独立仓库rknpu独立仓库$ python3 scripts/repo/repo.py list查看组件仓库映射与同步状态$ repo.py pull$ repo.py pushrepos.csvSystems
ArceOS 关注模块组合与平台适配,StarryOS 关注 POSIX 语义与用户态兼容,Axvisor 关注虚拟化抽象与 Guest 管理。
以模块化设计组织内核能力,每个模块对应一个独立 crate,可通过配置裁剪组合出不同形态的系统。
在 ArceOS 模块基础上实现 Linux 系统调用接口,支持 ELF 加载、进程管理、信号处理与 rootfs 引导。
裸机 Hypervisor,管理 VM 生命周期、vCPU 调度、虚拟地址空间与虚拟设备,支持多 Guest 并行运行。
components/ · ax* crates · starry-* · drivers/ · platform/Platform Matrix
每种架构通过 axplat crate 抽象平台差异,板卡适配与 QEMU 仿真共用同一接口层。
Driver Ecosystem
Driver Core 只包含硬件操作逻辑,OS Glue 层适配不同内核的内存分配与调度接口,同一驱动无需修改即可在 ArceOS、StarryOS 和 Axvisor 中使用。
drivers/ 目录下的硬件驱动实现
SD/MMC 存储支持
神经网络加速
PCIe 控制器适配
片上系统外设
axdriver_crates 提供的通用驱动接口层
axdriver_block块设备axdriver_display显示axdriver_input输入axdriver_net网络axdriver_pciPCI 总线axdriver_virtioVirtIOaxdriver_vsock虚拟 Socketaxdriver_base驱动基础层基于 Driver Core → Capability Boundary → OS Glue → Runtime 四层分层模型, 将驱动核心逻辑与 OS 依赖解耦,通过 mmio-api / dma-api / IRQ 契约实现跨系统复用。
Verification
组件级 cargo test 快速反馈,系统级 QEMU 运行验证功能正确性,平台级板卡回归确认硬件适配完整性。
在宿主机上直接执行标准库测试与 clippy 静态检查,秒级反馈,无需交叉编译。
构建目标系统镜像后在 QEMU 中运行,验证 syscall、进程管理、设备驱动等系统级行为。
变更涉及平台适配或跨系统共享组件时,在物理板卡上执行端到端回归测试,确认硬件行为一致。
Getting Started
先建立分层心智模型,再跑通 QEMU 构建运行,最后深入具体系统的开发与验证流程。