这是公开预览
内核自测、三个架构的编译检查和 QEMU 启动已经通过,用户态和驱动还在补。下载前请读使用声明。
组成
- 内核:SpaceKernel 3.0,Rust、soft-float,x86_64 优先。
- ABI:Linux 64 位,支持 ELF / PIE / 动态链接、信号、futex、epoll、AF_UNIX。
- 根盘:FAT32,由 Limine 模块提供,只读挂载。
- PID 1:systemg,按依赖启动服务并回收进程。
- 用户态:自带 C 库 splibc 和 sh;BusyBox 通过 musl 动态链接运行。
- 终端:ash,支持作业控制和 Ctrl-C / Ctrl-Z。
启动顺序
- UEFI 固件(QEMU 里是 OVMF)从 ISO 启动引导程序。
- Limine 加载内核,并把 FAT32 根盘作为模块交给它。
- SpaceKernel 初始化,只读挂载根盘,启动 PID 1。
- systemg 按
.service的依赖启动服务。 - 拉起控制台 shell ash;退出后由 systemg 重启。
这一版新增
- VFS 缓存:Linux 语义的 dentry / inode 缓存和 LRU 回收;FAT32 大文件读取加了簇链缓存。
- 动态链接:内核装载 ELF 解释器和 PIE,能运行 musl 动态链接的 BusyBox。
- 进程与信号:线程、进程组与会话、POSIX 信号、futex、epoll、signalfd、timerfd。
- 终端:控制终端、前后台进程组和 raw 模式。
验证情况
| 范围 | 状态 | 说明 |
|---|---|---|
| x86_64 | 已验证 | QEMU / UEFI 启动、systemg、BusyBox 动态加载、ash 交互和内核自测。 |
| aarch64 / riscv64 | 仅编译检查 | 用户态和启动链路未验证。 |
| 真实硬件 | 未验证 | 只在 QEMU 的 VirtIO GPU 2D 上测过。 |
源码与许可
源码在 ViudiraTech/SpaceOS-9。镜像里的 BusyBox、musl、Limine 等组件各有许可,见 THIRD_PARTY_NOTICES.md。