Learn how operating systems work internally by building a minimal UNIX-style OS from scratch.
Understand CPU boot sequences, memory management, and kernel-to-hardware communication through hands-on coding.
Study process creation and scheduling by implementing core OS features in C and C++.
Build foundational knowledge for kernel development or systems programming careers.
Requires a C/C++ compiler and assembler toolchain; cross-compiler setup may add complexity for some platforms.
This repository is an online book and tutorial that walks through how to build a simple computer operating system from scratch using C and C++. An operating system is the foundational software on a computer, the layer that manages hardware, runs programs, and provides the interface between software and the physical machine. Most people use one (Windows, macOS, Linux) without ever thinking about how it works internally. The goal of this course is not just theory but building something real: a minimal UNIX-style OS that can boot, load a command-line shell, and be extended further. The project includes source code alongside the explanations so readers can follow along step by step. You would use this if you are a programmer who wants to understand computers at a deep level, how the CPU boots, how memory is managed, how processes are created, and how the kernel communicates with hardware. It is an educational project originally written by the author in high school, then revised and translated from French to English for a broader audience. The source code is written in C and C++. No specific runtime or framework is required beyond a basic build environment.
Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.