Table of Contents

Part 1: What is an operating system?

If you’ve been around technology long enough, you are probably familiar with these pieces of software called operating systems: Windows, Linux, MacOS, Android, iOS. They are everywhere, present on almost any computer and any piece of technology that has the word smart attached to it… smartphones, smart watches, smart appliances etc.

But what exactly do they do? The part we interact with the most is called the user interface, or the shell, but this is just one small part of what makes up an operating system. All of these operating systems are in fact packages consisting of many modules:

What are we going to build?

In the first part of this tutorial, we will focus on the bootloader, learning as much as we can about the architecture we are working with in the process. Then, we will begin working on the kernel, which will take up the bulk of this tutorial. The goal, by the end, is to get a basic operating system that is functionally equivalent to something like Windows 95.

See also