Back to all projects
Systems · 2026

Omnix

An open-source x86 operating system written from scratch, with a graphical desktop

An educational, open-source operating system kernel written from scratch in C and Assembly. It boots via Multiboot and runs ELF user programs in ring 3 with PAE + NX paging, preemptive multitasking and SMP; user space has a PID 1 init, a shell with job control and coreutils. It reads and writes ext2 and FAT, offers a TCP/IP stack and BSD sockets on E1000/virtio-net drivers, and its graphical desktop runs a window server with terminals, a file manager and windows opened by user programs. GitHub Actions builds it and runs smoke tests in QEMU on every push.

Highlights

  1. 01PAE + NX paging, buddy/SLAB allocators, mmap, ASLR and W^X
  2. 02Preemptive process/thread scheduler, SMP, signals and fork/exec/waitpid
  3. 03ext2 and FAT12/16/32 read-write over a VFS, MBR/GPT and a root file system on disk
  4. 04TCP/IP, DHCP/DNS and BSD sockets; a 1024x768 graphical desktop with a window server

Other projects