Systems2024 — 2025
OwnOS — An x86 Kernel from Scratch
A hobby operating system kernel written from bare metal up in C and assembly — bootloader, protected mode, interrupts, and all.
Cx86 AssemblyQEMUGNU Make
The problem
Operating systems courses describe the machine. I wanted to find out how much of it I could actually rebuild myself, without a layer underneath doing the hard parts.
How it works
Built up from the boot sector: a bootloader that hands off to a kernel, the switch into 32-bit protected mode, a global descriptor table, and an interrupt descriptor table for handling hardware and software interrupts.
On top of that sits screen I/O and keyboard input written against the hardware directly — no standard library, no host OS underneath.
Outcomes
- A kernel that boots from bare metal on emulators and real hardware.
- Written end to end in C and x86 assembly, with no external kernel code.