/MultithreadKernel

Primary LanguageCGNU General Public License v2.0GPL-2.0

Developing a Multithreaded Kernel from Scratch

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