A practical guide and GitHub-hosted project by Samy Pesse that walks you through building a very simple UNIX-based operating system in C++, designed to boot, launch a userland shell, and remain extensible. It’s more than a proof of concept—it’s meant to be functional and educational. All the system source code will be stored in the src directory. Each step will contain links to the different related files. This course is open to contributions, feel free to signal errors with issues or directly correct the errors with pull-requests.

Features

  • Step-by-step guidance to build a bootable kernel in C++
  • Uses GNU GRUB for multiboot support and kernel loading
  • Starts with BIOS boot and transitions into a minimal shell environment
  • Teaches low-level concepts like linking, assembly, and ELF format
  • Apache‑2.0‑licensed source with documentation via GitBook
  • Intended to be extensible and educational rather than production-ready

Project Samples

Project Activity

See All Activity >

License

Apache License V2.0

Follow How to Make a Computer Operating System

How to Make a Computer Operating System Web Site

Other Useful Business Software
Go From AI Idea to AI App Fast Icon
Go From AI Idea to AI App Fast

One platform to build, fine-tune, and deploy ML models. No MLOps team required.

Access Gemini 3 and 200+ models. Build chatbots, agents, or custom models with built-in monitoring and scaling.
Try Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of How to Make a Computer Operating System!

Additional Project Details

Programming Language

C

Related Categories

C Operating Systems

Registered

2025-08-12