跳到主要内容

TGOSKits / OSs

三套系统,一体化开发。

从组件化应用到虚拟机,再到 Linux 用户态兼容。在同一工作区中组合共享能力,构建不同的运行环境。

面向不同运行场景
ArceOS 将应用与所需组件构建为系统镜像;AxVisor 编排客户机;Starry 为 Linux 用户态程序提供进程与系统调用环境。
复用基础,独立演进
三套系统共享任务、内存、设备和平台能力,各自维护运行策略与接口语义。功能选择通过 Cargo feature 和目标配置完成。
统一构建与验证
通过 cargo xtask 组织构建、QEMU 运行及板卡测试,让组件开发与系统集成衔接在同一工作区中。
了解共享组件
三套系统共享组件与运行基础ArceOS 提供组件化运行时,AxVisor 管理虚拟机,Starry 实现 Linux 用户态兼容。三者复用工作区组件,AxVisor 和 Starry 同时复用 ArceOS 基础运行能力。ArceOS组件化 UnikernelAxVisorType-I HypervisorStarryLinux 用户态兼容ArceOS 基础运行能力runtime · task · memory · HAL共享组件与平台适配内存 · 调度 · 驱动 · 文件系统 · 网络 · 虚拟化 · 平台
01

组件化 Unikernel

ArceOS

通过 Rust crate、Cargo feature 和目标配置组合系统能力。应用与选定的运行时组件一起构建成镜像,同时为 StarryOS 和 AxVisor 提供可复用的基础运行能力。

应用接口
Rust 应用使用 ax-std,C 应用通过 ax-libc 接入;ax-api 与 ax-posix-api 聚合所需的系统接口。
运行时装配
ax-runtime 组织初始化和任务运行能力,按配置组合内存、文件系统、网络、显示和输入等服务。
组件与平台
任务、分配器、驱动和协议栈分布于共享目录;ax-hal 与 ax-plat 将这些能力接入具体架构和平台。
ArceOS 组件装配架构Rust 与 C 应用通过用户库、API 和运行时组合共享服务,HAL 与平台契约连接硬件。图示表示职责与典型能力调用,不是逐包依赖清单。ArceOS · 按需装配的 UnikernelRust 应用apps/arceos/ · 应用所需 featureC 应用C 接口 · 静态集成到系统镜像ax-stdRust 应用接口ax-libcC / POSIX 应用接口ax-api系统能力 API 聚合ax-posix-apiPOSIX 接口适配ax-runtime启动与初始化 · 任务运行时接入 · 功能装配任务与同步ax-task · ax-sync内存管理ax-alloc · ax-mm系统服务ax-log · ax-ipi · 显示与输入文件与网络ax-fs-ng · ax-net设备能力ax-driver · rdrive · rdif-*基础组件ax-cpu · ax-io · 地址与页表ax-hal / ax-platCPU · 中断 · 时钟 · 内存与平台资源平台与硬件axplat-dyn · somehal · someboot · QEMU / 实体板卡
02

组件化 Type-I Hypervisor

AxVisor

在 ArceOS 宿主运行能力之上组合虚拟机、地址空间和虚拟设备。由配置描述客户机资源,通过统一管理入口控制 Guest 的创建、运行与退出。

客户机编排
AxvmManager 负责应用层策略,通过 AxvmRuntime 管理虚拟机;shell 和可选 HTTP 接口提供控制入口。
虚拟化组件
axvm 组合 axaddrspace、axdevice、axvmconfig 及虚拟 I/O 能力,ax-cpu 提供架构相关的 vCPU 执行后端。
宿主与设备边界
Guest 的设备模型与宿主物理驱动分开维护。ArceOS 提供任务、同步、内存和 HAL 能力,平台配置决定具体资源。
AxVisor 客户机与虚拟化运行架构客户机由 AxvmManager 和 AxvmRuntime 管理;配置、虚拟设备、地址空间和 ax-cpu 的架构虚拟化后端组合在 ArceOS 宿主运行时之上。AxVisor · 组件化 Type-I HypervisorLinux Guest客户机内核与用户态ArceOS Guest组件化应用系统其他 Guest按客户机配置接入管理与控制台shell · guest_console · 可选 HTTP配置与镜像VM TOML · 资源配置 · Guest 镜像AxvmManager → AxvmRuntime加载与创建 · 启停 / 暂停 / 恢复 · 客户机生命周期axvm / axvm-types / axvmconfig虚拟机对象 · vCPU 调度与运行 · 资源描述客户机地址空间axaddrspace · 地址与页表客户机设备模型axdevice · axdevice_base虚拟 I/O 与通信axvirtio-* · axivc · axhvc架构虚拟化后端ax-cpu · VM entry / exit虚拟中断与寄存器arm_vgic · x86_vlapic · riscv_vplicArceOS 宿主运行能力ax-std · ax-runtime · ax-task · ax-sync · ax-hal平台与物理设备ax-plat · 动态平台 · 宿主驱动 · QEMU / 实体板卡
03

Linux 兼容操作系统 · StarryOS

Starry

面向 Linux 用户态程序提供系统调用与进程环境。StarryOS 在 ArceOS 基础能力之上实现文件、内存、信号、网络及资源管理语义,通过 Rootfs 装载并运行应用。

用户态入口
ELF 程序和 libc 位于用户态,系统调用与异常由 starry-kernel 的 syscall、trap 等入口接收和处理。
内核子系统
task、mm、file、ipc、pseudofs、namespace 和 cgroup 等模块维护 Linux 语义;starry-signal 与 starry-vm 提供领域抽象。
共享运行能力
复用 ax-runtime、ax-task、ax-hal 以及文件系统、网络和设备组件;兼容行为由 StarryOS 内核与用户态环境共同验证。
Starry Linux 兼容系统架构Linux 用户态经系统调用和异常入口进入 starry-kernel,内核维护进程、文件、内存、信号和网络语义,并复用 ArceOS 运行时、共享组件与平台能力。Starry · Linux 用户态兼容Linux 用户态程序Shell · 数据库 · 服务与开发工具用户态运行环境ELF 程序 · libc · Rootfs用户态 / 内核态starry-kernel · syscall / trap系统调用分发 · 异常与中断入口 · Linux 接口语义task / namespace / cgroup进程与线程 · �资源与隔离mm / signal / time虚拟内存 · 信号 · 时间服务file / ipc / pseudofs文件语义 · IPC · 伪文件系统starry-signal信号模型与处理starry-vm用户地址空间与映射内核扩展能力kmod · tracepoint · perf 等ArceOS 运行时与硬件抽象ax-runtime · ax-task · ax-sync · ax-mm · ax-hal文件系统能力ax-fs-ng · axfs-ng-vfs · rsext4网络与设备ax-net · ax-driver · rdrive共享基础能力ax-cpu · ax-alloc · ax-io平台契约与启动ax-plat · axplat-dyn · somehal · someboot目标环境AArch64 · RISC-V · x86_64 · LoongArch / QEMU 与实体板卡