project-overview.md

## What is it?

PumpsOS is my journey into operating system development — building a kernel from absolute scratch. No GRUB, no Linux, no training wheels. Just assembly, C, and a lot of documentation reading and help from OSDevers.

## Why I built it

Because understanding operating systems from textbooks isn't the same as building one. I took a course in Operating Systems and I wanted to know exactly what happens from the moment a computer boots to the first pixel appearing on screen. Something that only hands-on experience could deliver. Although without the knowledge of the module, I would not of had this idea in the first place. Thank you Professor Andrew Scott

## Features implemented

Being an on-going project, there are many features still to come! But some currently include:

  • Custom bootloader in Assembly
  • VGA text mode driver
  • Terminal with scrolling
  • PS/2 keyboard driver

## Challenges

  • Protected mode transition - one wrong bit and everything crashes
  • Debugging without a debugger - need a real sharp eye for this one
  • Scan code tables for keyboard input - hundreds of lines
  • Memory management without malloc

## What I learned

  • x86 architecture and real/protected mode
  • How hardware interrupts work
  • VGA memory-mapped I/O
  • The boot process in detail
  • Cross-compilation and bare-metal development
links.sh
cat ./links