Learning to develop your own operating system

NicolasBrondinBernard

Author
@NicolasBrondinBernard

Does that seem impossible to you? And yet there are free, very well-explained resources on the subject!

Article published on 30/06/2020, last updated on 09/08/2026

In a previous article, I talked to you about the series "Halt and Catch Fire", whose first season deals with the creation of a personal computer in the 80s.

We notably see engineers designing a BIOS (Basic Input Output System) from scratch, as well as an operating system for their new machine.

Being a web developer, more used to high-level languages (as opposed to low-level, close to the electronics), I always told myself that this wasn't the kind of thing that appealed to me.

Creating an OS for ARM processors

Then, as luck would have it, Twitter introduced me to a Github project titled: "Raspberry Pi OS: Learning operating system development using Linux kernel and Raspberry Pi"

This world, which had seemed unattainable to me until then, opened up to me — full of pitfalls, sure, but accessible.

In this project, divided into several chapters, themselves divided into several lessons, each step is detailed, each line of code is explained, and even the ARM assembly instructions are commented.

But be careful, don't expect to develop a Linux clone, the goal of this project is to guide you in creating a very simplified OS, so that you can understand how an operating system like Linux works overall.

Let's be honest, this probably won't be knowledge you'll use anytime soon in your everyday job, but what satisfaction it is to be able to understand a little better how our incredible machines work!

Don't be afraid

Although this educational project is very well explained and detailed, I quickly felt my gaps in systems and assembly catching up with me.

So I took a break from reading in order to find a course that would allow me to fill in these gaps, and I found what I was looking for on OpenClassroom: https://openclassrooms.com/fr/courses/1464031-en-profondeur-avec-lassembleur

I'm currently in the middle of this course, but I absolutely wanted to share these discoveries with you so that other developers might perhaps discover this field, and above all the fact that it's made accessible by talented, passionate, and pedagogical engineers!

Bonus: Creating an OS for x86 processors

The project I presented to you earlier is valid only for ARM architectures, which we find in our smartphones, in embedded projects, or on Raspberry Pi.

But if you're more interested in learning how to develop an OS on x86, that is the architecture found in the majority of our computers today, there is a similar initiative, also available for free on Github at: https://littleosbook.github.io/#about-the-book


Alexandre Debiève sur Unsplash

Finished reading this article?
Our complete courses
Take it to the next level with our courses!

Complete courses, exercises and certificates to really learn programming!

4.8 average rating

Comments (0)

to leave a comment

No comments yet