Repository navigation
MerlionOS v0.2.0 — Full Roadmap Complete
MerlionOS v0.2.0 — Full Roadmap Complete
All 16 development phases delivered. From bare-metal boot to a feature-rich hobby OS.
Stats
- 27 source modules, ~4,100 lines of Rust
- 30+ shell commands
- 7 syscalls
- 16 phases from zero to a functional OS
What's New Since v0.1.0
Phase 11 — RTC & Testing
- CMOS real-time clock with
datecommand - 15 built-in kernel self-tests (
testcommand) - lib.rs refactor for module reuse
Phase 12 — Graphics
- 160×50 software framebuffer via VGA half-block characters (▀▄█)
- Drawing primitives: pixel, line (Bresenham), rect, circle (midpoint)
- Singapore flag demo (
gfxcommand)
Phase 13 — Storage
- PCI bus enumeration (
lspcicommand) - 128K RAM disk with custom "MRLN" flat filesystem
format,disk,dls,dsave,dloadcommands
Phase 14 — Networking
- IPv4/UDP types, MAC/IP address formatting
- Loopback network interface with packet queue
ifconfig,send,recvcommands
Phase 15 — SMP
- CPUID leaf parsing: vendor, brand, family/model/stepping
- Feature detection: APIC, x2APIC, SSE, SSE2, AVX
- Per-CPU state tracking,
cpuinfocommand
Phase 16 — User-Space Library
- Rust syscall wrappers: write, exit, yield, getpid, sleep, send, recv
- Convenience functions (println, write_num) without allocator
- Example user programs in Rust
Full Feature List
| Category | Features |
|---|---|
| Boot | Bootloader 0.9, VGA banner, serial logging |
| CPU | GDT+TSS, IDT, PIT 100Hz, CPUID, APIC detection |
| Memory | Frame allocator, 64K heap, per-process page tables |
| Tasks | Preemptive round-robin, context switch, spawn/kill |
| User-mode | Ring 3 via iretq, int 0x80 syscalls, page table isolation |
| IPC | Bounded channels, producer/consumer |
| Filesystem | VFS (/dev, /proc, /tmp), RAM disk with MRLN format |
| Graphics | 160×50 framebuffer, 16 colors, drawing primitives |
| Network | IPv4/UDP loopback, ifconfig |
| Drivers | Registration framework, 7 built-in drivers |
| Shell | 30+ commands, ANSI colors, PS/2 keyboard |
| System | RTC clock, ACPI shutdown/reboot, PCI scan |