Analysis updated 2026-05-18
Study a working example of a 32 bit kernel with memory management and interrupts.
Learn how a Unix style shell, file system, and user login system fit together.
Build and run the kernel in QEMU to experiment with operating system concepts.
| linuxkid473/pureunix | blackcoffee2/prome | danusha2345/adrc-betaflight | |
|---|---|---|---|
| Stars | 5 | 5 | 5 |
| Language | C | C | C |
| Setup difficulty | hard | moderate | hard |
| Complexity | 5/5 | 4/5 | 4/5 |
| Audience | researcher | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires setting up a freestanding i686-elf cross compiler and QEMU before it will build and boot.
PureUNIX is an operating system kernel built entirely from scratch for older 32 bit computers, written in the C programming language and x86 assembly. It is the kind of project a systems programmer builds to learn exactly how an operating system works under the hood, from the moment the computer powers on to running actual programs. The kernel boots through GRUB, a common boot loader, and sets up its own memory management, including a way to track which pieces of memory are in use and a small heap for the kernel's own needs. It handles hardware interrupts, which are signals the computer sends when something needs attention, and it can run separate user programs safely isolated from the kernel itself using a protection mode built into the processor. PureUNIX includes drivers so it can talk to a screen in text mode, a keyboard, a serial port, and a basic hard disk interface. It reads and writes two different file systems, EXT2 and FAT16, and routes file access through its own virtual file system layer that understands Unix style permissions, symbolic links, and multiple mounted drives. The system supports user accounts with passwords that are protected using standard cryptographic hashing methods, and it requires a login before starting its shell. That shell works like a classic Unix terminal, supporting command history, tab completion, pipes between commands, and file redirection, plus more than thirty built in commands. There is also a modal text editor similar in spirit to vim. Several parts are explicitly unfinished according to the project notes: each running program currently shares the same memory space rather than having its own, there is no way for one program to launch another yet, task switching does not yet interrupt a running program automatically, and there is no networking support. Building it requires a cross compiler toolchain and the QEMU emulator to run and test it.
A from scratch 32 bit operating system kernel with its own file systems, user accounts, and a Unix style shell, built for learning how operating systems work.
Mainly C. The stack also includes C, x86 Assembly, GRUB.
No license information was provided in the README.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly researcher.
This repo across BitVibe Labs
Verify against the repo before relying on details.