This project aims to learn low-level OS mechanisms through the book Operating System in 1,000 Lines.
The goal is to build a simple OS for the 32-bit RISC-V platform.
- Boot a minimal kernel on QEMU
- Set up basic console input/output through SBI
- Understand the linker script and kernel memory layout
- Set up basic trap entry and register save/restore
- Implement simple single-core process creation and cooperative context switching
- Add a minimal physical page allocator
- Build page tables and switch address spaces with
satp - Load and run a user application in user mode
- Add basic syscalls:
putchar,getchar, andexit - Add basic virtio block device I/O
- Add a richer shell or more user applications
- Build a filesystem layer on top of block I/O