Roadmap

Development plan from bare-metal boot to self-hosting OS.

Table of contents

Sprint Overview #

SprintFocusStatusDescription
1Boot & Serial✅ CompleteToolchain, bootloader, serial UART, framebuffer console
2Memory✅ CompletePMM bitmap allocator, VMM page tables, kernel heap
3Interrupts✅ CompleteGDT/TSS, IDT, ACPI/MADT, LAPIC, I/O APIC, W^X remap
4Scheduler✅ CompleteProcesses, threads, preemptive scheduler, SMP (4 cores)
5Capabilities✅ CompleteCNode, capability types, IPC endpoints, synchronous IPC
6Syscalls✅ CompleteSYSCALL/SYSRET, 12 syscalls, ELF loader, Ring 3 entry
7–9Userspace✅ CompleteInit (PID 1), libmnos, TarFS, delegation, memory management
9.5Reaper✅ CompleteDEAD_QUEUE, kernel stack reclamation, VMM walker, process teardown
10Wasm Hypervisor✅ CompleteRing 3 heap (4 MiB), wasmi interpreter, SFI hardware bridge (Wasm→COM1)
11PCI & Devices🔧 In ProgressPCI bus enumeration, BAR parsing, virtio-blk driver, capability-gated MMIO

Sprint 1 — Boot & Serial Output ✅ #

Get the kernel running, prove it with visible output.

Sprint 2 — Memory Management ✅ #

Teach the kernel to manage physical and virtual memory.

Sprint 3 — Interrupts & Exceptions ✅ #

Handle CPU exceptions and hardware interrupts safely.

Sprint 4 — Processes & Scheduler ✅ #

Run multiple threads of execution, share the CPU fairly.

Sprint 5 — Capabilities & IPC ✅ #

The security model — unforgeable tokens and message passing.

Sprint 6 — Syscall Interface & Userspace ✅ #

Cross the Ring 0/Ring 3 boundary.

Sprint 7–9 — Init Process & The God Process ✅ #

Life outside the kernel — the Init process holds absolute power.

Sprint 9.5 — Reaper & Resource Teardown ✅ #

What is created must be destroyed — the kernel recycles its own entropy.

Sprint 10 — Wasm Hypervisor ✅ #

Turn Init into the WebAssembly hypervisor — SFI Hardware Bridge proven.

Sprint 11 — PCI & Device Discovery 🔧 #

The Hardware Census — teach the kernel to see every device on the PCI bus.

Future Milestones #

These features are planned for after Sprint 7 completes the core OS:

MilestoneDescription
VFS ServiceVirtual filesystem abstraction in userspace
InitramfsIn-memory tar filesystem for boot-time binaries
Disk DriverAHCI/NVMe driver in userspace
Filesystemext2 or FAT32 implementation as userspace service
NetworkingTCP/IP stack as a userspace service
ShellBasic interactive command-line shell
USB HIDKeyboard and mouse drivers
GPU DriverIntel HD 405 framebuffer driver
CompositorWindow manager / display server
Rust std PortPort Rust's standard library to MinimalOS
Self-hostingCompile MinimalOS on MinimalOS

Contributing #

Contributions are welcome! The project is structured around sprints — each sprint focuses on a self-contained subsystem.

How to Contribute

  1. Check the current sprint's open items above
  2. Read the relevant subsystem documentation
  3. Fork the repository and create a feature branch
  4. Implement your changes with tests where applicable
  5. Submit a pull request

Development Guidelines