Building dot-os

Building dot-os

Jun 10, 20255 min read

Preface

Yeah so I've recently been a part of this really really cool project that I'm working on along with an online friend. We've begun developing our very own Operating System!!!

So this is the part where you start cheering for me since I started this super duper cool and interesting project. I'll be posting the github link at the bottom of this so be sure to read all the way through if you wanna learn more!

Bare Metal

We've been working on a "bare bones" kernel that eventually will support a GUI and be like temple-os but without the weird racist 10x engineer. At our current point we've gotten down the basics that you imagine you might need: the bootloader, the kernel, a vga buffer, a GDT and IDT that allow us to make interrupts that get sent right to the CPU, and a PIC.

The bootloader

We first start off at our boot-loader! The boot loader is broken into two stages and is written entirely in assembly code. What it does is first boot our system into 16 bit mode before jumping into a protected 32 bit mode so we can actually start coding in C++ along the way a couple of variables are created, assigned to some memory addresses you know the entire spiel. Effectively though it tells us to start the kernel and jump straight into the kernel.

Kernel? like corn?

No, not like corn... The kernel is hard to explain, I would say that i acts as the main hub for our operating system, everything that functions as software, and even some hardware parts like interrupts, effectively have to go through the kernel. This is where we'll primarily define the functions of our machine and the behavior of what happens when something is called, more or less. As it stands now the kernel is written entirely in C with some basic functionality at the moment, we've recently piloted using a VGA buffer and have strung up a working system to handle interrupts and keyboard input but more is to come!

So what? What comes next?

To be honest we're not really sure. As it is we're kinda just taking things one step at a time and haven't figured out what personality we're going to birth into our machine. But please stay tuned as things are just starting to heat up!

Thanks for reading, until next time where I hopefully debrief you on me winning the lottery and being able to quit my j*b and just do these hobby projects all day.

Cya~

  • Vic

Alt text