This is a multitasking operating system and kernel created from scratch.
Topics covered:
- The boot process and how memory works
- Writing a boot loader in assembly language
- Working with interrupts in real mode
- Reading a sector (512 bytes) from the hard disk
Skills acquired through this project:
- Creating a kernel from scratch
- Developing a multi-tasking kernel
- Handling problematic programs while developing the operating system
- Understanding how memory works in computers
- Differentiating between kernel land, user land, and the protection rings
- Learning kernel design patterns used by Linux
- Understanding and implementing virtual memory
- Developing processes and tasks in the kernel
- Loading ELF files
- Debugging disassembled machine code
- Debugging your kernel in an emulator with GDB