目标
- x86_64 架构、WSL2 Ubuntu22 开发、Limine 引导、Apache-2.0 许可
- 实现可在 QEMU 启动并运行的最小微内核,能启动用户态测试程序并通过 IPC 与内核通信
- 启用 GitHub Actions CI,实现自动化构建与 QEMU 启动测试
交付物
- Bootloader 与内核引导:Limine 启动,内核入口与启动日志输出
- 基础内核初始化:中断/异常向量设置,日志与 panic 处理
- 内存管理:页表、物理页分配器、虚拟地址空间初始化
- 线程与调度器:TCB/上下文切换、时间片调度、时钟中断
- 基础 IPC/能力模型雏形:同步/异步消息通道设计与实现
- 系统调用框架:syscall 号表、最小集实现(thread_create、ipc_send/recv、sleep/yield)
- 用户态程序与加载:载入/调度最简 user 程序,演示打印与 IPC
- 构建系统与 QEMU 脚本:Cargo 工作区、Makefile/justfile、qemu.sh 支持一键启动
- CI 工作流:GitHub Actions 构建QEMU运行测试
- 架构与开发文档:docs/m1-roadmap.md(含目录结构/模块职责/代码规范/unsafe 使用指南等)
细分任务建议(部分可独立 issue)
- x86_64 架构与 boot (Limine) 适配;qemu.sh 实现及文档
- bootloader 入口、内核主循环与基本日志设施
- 基础异常/中断向量初设与 panic/error/display 宏
- 页表/内存管理初始化及物理页分配设计初稿
- 基础 TCB/线程上下文与切换原型
- Round-Robin 调度与时钟中断处理
- IPC 原型:同步/异步消息通道 & 内核对象能力机制初稿
- syscall 分发与最小系统调用集
- 用户态微程序加载、内核到用户切换及 IPC 演示
- Cargo/Makefile、CI 配置(含交叉编译工具链管理建议)
- 架构、贡献、unsafe 约定、许可证文档与依赖声明
项目结构(建议)
- src/kernel/ 核心模块
- src/mm/ 内存管理
- src/sched/ 调度/线程
- src/ipc/ IPC/能力模型
- src/syscall/ syscall框架
- user/ 用户程序
- scripts/ 启动/构建脚本
- docs/ 设计/贡献文档
参考项目
Redox OS、seL4、Tock OS、xv6
目标
交付物
细分任务建议(部分可独立 issue)
项目结构(建议)
参考项目
Redox OS、seL4、Tock OS、xv6