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
Categories
Operating SystemsLicense
Apache License V2.0Follow How to Make a Computer Operating System
Other Useful Business Software
Field Service+ for MS Dynamics 365 & Salesforce
Resco’s mobile solution streamlines your field service operations with offline work, fast data sync, and powerful tools for frontline workers, all natively integrated into Dynamics 365 and Salesforce.
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!