cfenollosa/os-tutorial

How to create an OS from scratch

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 14 minutes ago
Added to GitGenius on September 1st, 2026
Created on September 29th, 2014
Open Issues & Pull Requests: 130 (+0)
GitHub issues: Enabled
Number of forks: 3,560
Total Stargazers: 30,695 (+0)
Total Subscribers: 797 (+0)

Repository Insights (GitGenius)

Most active contributors

Sign in to see contributor activity.

Related repositories by overlapping contributors

No overlapping-contributor repos identified yet.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

os-tutorial is a step-by-step educational resource that teaches how to build an operating system from scratch using low-level programming.

The project addresses the gap between theoretical computer science education and practical OS development experience. Rather than studying existing kernels or absorbing heavy theory, the tutorial guides learners through implementing core OS functionality incrementally, starting from the boot sector. Each lesson is designed to take five to fifteen minutes and builds directly on previous code, with minimal theoretical exposition and heavily commented code examples that explain the reasoning behind each step.

This resource suits programmers comfortable with low-level computing who want hands-on understanding of how operating systems work without the time commitment of reading large kernel codebases. The lessons are ordered sequentially and must be followed in that order, as each builds on prior implementations. The tutorial emphasizes learning by doing, with optional exercises to write code independently before examining the provided examples, and encourages experimentation to deepen understanding.

The project is explicitly marked as old and abandoned, with known technical and design issues documented in the issue tracker. The maintainer acknowledges these limitations and recommends that learners supplement this tutorial with more modern and authoritative sources for comprehensive OS design knowledge. Despite its age, the project remains a self-contained educational pathway for those seeking a practical introduction to OS fundamentals through direct implementation rather than theoretical study.