← jihoo.dev

OPERATING SYSTEM · RUST

kaguyaOS

A hobby operating system written in Rust, targeting x86_64 UEFI.

From boot to userspace

kaguyaOS boots through UEFI with a GOP framebuffer and builds toward a small but complete system: Ring 0/3 isolation, syscall/sysret, preemptive round-robin scheduling, SMP startup, per-CPU kernel state, and a custom KEF executable format.

Drivers and storage

The kernel includes xHCI USB keyboard support, an NVMe SSD driver, E1000 Ethernet with ARP and ICMP, and a FAT16 filesystem supporting file creation, reading, writing, deletion, and listing. A userspace shell and small utilities exercise those pieces through system calls.

Why I build it

Operating systems are a useful excuse to cross abstraction boundaries. Scheduler behavior, page tables, interrupts, device MMIO, filesystems, networking, and user/kernel boundaries all have to agree for even a tiny command to work.

View kaguyaOS on GitHub ↗