A learning-focused operating system written in Rust, based on
Philipp Oppermann’s Writing an OS in Rust blog series.
This project explores low-level systems concepts such as bootstrapping, memory management, interrupts, and hardware abstraction, with an emphasis on safety, correctness, and explicit control over execution.
- Understand operating system fundamentals from first principles
- Apply Rust’s safety and abstraction mechanisms in a bare-metal context
- Explore the boundary between high-level language design and low-level execution
- Gain hands-on experience with:
- Memory management
- Interrupt handling
- Paging and virtual memory
- Hardware interaction
- Custom bootloader and kernel entry
- VGA text buffer output
- Interrupt Descriptor Table (IDT)
- Keyboard and timer interrupts
- Paging and virtual memory setup
- Heap allocation
- Basic exception handling
This project is iterative and evolves alongside my study of OS design and systems programming.
- Language: Rust (nightly)
- Target: x86_64 (bare metal)
- Tooling:
cargorustfmtllvm-tools-previewbootimage
- Reference:
Writing an OS in Rust – Philipp Oppermann