Back


How to Get Into Developing An Operating system

28th June 2024, Cameron







Introduction

Unfortunately, the community for operating system development (OsDev) is ripe with gatekeeping and general snobbery as seen on forums such as reddit [1]. However this community has people with a passion for not only operating systems but also pushing boundaries like the infamous Terry A Davis (soul developer of TempleOS) and Linus Torvalds (The creator of the Linux kernel), who despite their many differences have shown a prowess when it come to the development of such complex and demanding software. The Linux kernel has a massive community of people who maintain and update the kernel as it is an open-source kernel, all with knowledge of OsDev. I want to give you some fantastic resources I have found over time when it comes to Osdev so hopefully you can join this community and develop some cool operating systems!

Your search engine of choice

This one may be a given but it can't be under stated how good of a resource your search engine (eg google) can be so if you have stuff you want to find out that you cant see in the resources listed here, have a search!

1. The Low Level Programming University [2]

Before going into OsDev it is important to have a good baseline knowledge of low-level concepts such as computer architecture and assembly just to name a few. I have found this simple markdown document immensely helpful in my learning journey, pointing me in the right directions and helping me strengthen my knowledge of low-level concepts I have been studying in university.

2. Write your own operating system [3]

This is a YouTube series that goes over how to create a 32-bit Os and the bit I like about this one in particular is that it is an extremely likable and knowledgeable man talking you through everything and showing how everything works and explaining it with the aid of his white board, instead of just programming and saying, “Copy this!”. He really helps you build the skills you need as a beginner and has even inspired such projects as this article!

3. Osdev.org [4]

Osdev.org is a wiki with a forum that has all you need on how to get started; it is a massive knowledge base with a particularly useful section of some open-source projects that you can learn from. However, a lot of the pages are unfinished but when there’s this much information on the site already, is that much of a surprise?

4. LowLevel.eu [5]

The German cousin to osdev.org, this site is very similar to Osdev.org but has a different set of information, the only issue with it is that it is all in German. My German isn’t very good and google translate can be a bit wonky at times but if you can get over that it is an incredible resource.

5. Writing a Simple Operating System from Scratch by Nick Blundell [6]

This is a comprehensive paper on how to get started with OsDev, it is way more officially academic so if you’re more comfortable reading those sorts of things it is a fantastic resource




If you have any further questions or any other resources you would like to share please feel free to get in touch here





Sources:

[1] [2] [3] [4] [5] [6]