whatisgithub

What is pureunix?

linuxkid473/pureunix — explained in plain English

Analysis updated 2026-05-18

5CAudience · researcherComplexity · 5/5Setup · hard

In one sentence

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.

Mindmap

mindmap
  root((PureUNIX))
    What it does
      Custom OS kernel
      Boots via GRUB
      Runs user programs
    Tech stack
      C
      x86 Assembly
      QEMU
    Use cases
      Learn OS internals
      Study filesystems
      Study memory management
    Audience
      Systems programmers
      OS students

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Study a working example of a 32 bit kernel with memory management and interrupts.

USE CASE 2

Learn how a Unix style shell, file system, and user login system fit together.

USE CASE 3

Build and run the kernel in QEMU to experiment with operating system concepts.

What is it built with?

Cx86 AssemblyGRUBQEMUEXT2FAT16

How does it compare?

linuxkid473/pureunixblackcoffee2/promedanusha2345/adrc-betaflight
Stars555
LanguageCCC
Setup difficultyhardmoderatehard
Complexity5/54/54/5
Audienceresearcherdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires setting up a freestanding i686-elf cross compiler and QEMU before it will build and boot.

No license information was provided in the README.

So what is it?

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.

Copy-paste prompts

Prompt 1
Explain how PureUNIX's cooperative round robin scheduler works.
Prompt 2
Walk me through building PureUNIX with the i686-elf-gcc cross compiler and running it in QEMU.
Prompt 3
Compare PureUNIX's EXT2 driver to its FAT16 driver.
Prompt 4
Help me understand how ring 3 user mode execution is set up in PureUNIX.

Frequently asked questions

What is pureunix?

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.

What language is pureunix written in?

Mainly C. The stack also includes C, x86 Assembly, GRUB.

What license does pureunix use?

No license information was provided in the README.

How hard is pureunix to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is pureunix for?

Mainly researcher.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.