All projects
BEDROCK
A Bare-Metal OS Kernel in Rust
Most 'OS' projects are Linux distros or userspace simulations. BEDROCK is the real thing: a kernel that talks to the hardware directly, with nothing between it and the CPU. It boots on QEMU (and bare metal) into a working GUI desktop you can click around.
Result
~269 cycles / context switch
~1.34M allocator ops/sec
~2,400x cached read speedup
What it does
A no_std x86_64 operating system written from scratch in Rust: no Linux underneath, no libc, just a bootloader and hardware. Boots to a graphical desktop with a window manager, a preemptive scheduler, and its own filesystem.
What I built
- Hand-written kernel from the ground up: custom GDT/IDT/TSS, a two-stage frame allocator and virtual memory manager, and a preemptive round-robin scheduler with hand-rolled context switching at ~269 cycles per switch.
- Framebuffer graphics stack with dirty-rect compositing (~47x faster than naive full redraws) driving a z-ordered window manager, PS/2 keyboard and mouse, and a SimpleFS filesystem with LRU block caching (~2,400x read speedup).
How it works
- 01BIOS Bootloader
- 02Kernel Core (GDT/IDT/TSS + exceptions)
- 03Frame Allocator + Virtual Memory Manager
- 04Preemptive Scheduler (context switch)
- 05Framebuffer Compositor (dirty-rect)
- 06Window Manager (z-order + hit-test)
- 07PS/2 Drivers + ATA PIO Disk
- 08SimpleFS (LRU block cache)
- 09Terminal / File Editor / Stats apps
Features
- no_std, no libc, no host OS: a genuine bare-metal x86_64 kernel booted straight from a BIOS bootloader
- Two-stage physical frame allocator plus a virtual memory manager, benchmarked at ~1.34M allocations/sec
- Preemptive round-robin scheduler with hand-written context switching (~269 cycles per switch)
- Framebuffer compositor with dirty-rect redraws (~47x faster) feeding a window manager with z-order and hit-testing
- PS/2 keyboard and mouse via IRQ handlers, plus an ATA PIO driver for real disk access
- SimpleFS filesystem with LRU block caching (~2,400x read speedup), persistent across independent boots
- Ships with real apps: a terminal (ls, cat, write, rm, mv, df), a combined file browser + text editor, and a live performance-stats window