
Introduction In this guide I will teach you all how to develop a functional kernel from scratch that can be booted from real hardware and you will learn - i hope - a lot about how computers work and what's the function of an operating system....
What are Interrupts? Interrupts are something like subroutines, but you don't need to know their memory address to invoke them, you call them through the use of interrupt numbers such as 1, 2, and 3, rather than memory addresses, interrupts can be set up by the programmer, for example, you could set the interrupt 0x32 to point somewhere in your code, therefore, when someone does int 0x32 it will invoke the defined interrupt.
read moreMaking our Bootloader Bootable Now, let's improve our bootloader to fix some errors and make it bootable on an actual machine!
read moreOur First Bootloader Let's start creating our own bootloader. First, as this is going to be an entire project, let's create a folder and organise it a little.
read moreReal Mode In previous entries, I’ve explained briefly that ‘Real Mode’ is a compatibility mode that all modern intel processes have, and this is the mode in which they start, it mimics the processor from several years ago.
read moreRequired Knowledge In this entry we will learn about two basic things that are important when developing kernels, we'll see what memory is and what does a computer do when booting.
read more