tianole/docs/roadmap.md

61 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Tianole 路线图
这个文件只做路线入口,不承载详细设计。详细任务放在
`docs/agents/tasks/`,避免每次修改都把长期上下文塞进总路线。
## 当前状态
已经完成:
- 最小 `UEFI -> bootloader -> kernel` 启动链。
- bootloader 与 kernel 拆分。
- 独立 `kernel.elf` 加载。
- 进入 kernel 前调用 `ExitBootServices`
- `memory map` 通过 `boot_info` 传入 kernel。
- kernel 能统计 memory map 描述符数量和 conventional memory 页数。
- kernel early log 已拆成通用前端和 x86 backend。
- x86 early log backend 同时输出到 QEMU debug port 和 COM1 串口。
- 最小 `panic()` 已接入 early log 和架构 halt 路径。
- 构建系统已拆成根 Makefile、`arch/x86/Makefile` 和目录 Makefile。
- `scripts/check.sh` 已验证启动日志和串口日志GitHub Actions 已接入。
- `.clang-format` 已用于强制当前 C 代码风格。
还没有完成:
- oops 早期错误路径。
- GDT/IDT/异常/中断。
- 物理页分配器、虚拟内存和内核堆。
- 调度、进程、文件系统、用户态和 shell。
## 当前下一步
下一步执行:
- `docs/agents/tasks/02-cpu-interrupts.md`
目标:
- 建立 x86_64 GDT/TSS/IDT。
- 建立异常入口和 trap frame。
- 让未处理异常进入 panic。
- 为后续 IRQ、timer 和 page fault 做准备。
## 任务路由
按顺序推进:
1. `docs/agents/tasks/01-early-debug.md`
2. `docs/agents/tasks/02-cpu-interrupts.md`
3. `docs/agents/tasks/03-memory.md`
4. `docs/agents/tasks/04-time-scheduler.md`
5. `docs/agents/tasks/05-input-events.md`
6. `docs/agents/tasks/06-storage-vfs.md`
7. `docs/agents/tasks/07-user-mode.md`
8. `docs/agents/tasks/08-shell-tools.md`
9. `docs/agents/tasks/09-driver-expansion.md`
10. `docs/agents/tasks/10-real-machine.md`
Linux 级长期能力缺口和对应阶段,见:
- `docs/agents/tasks/README.md`