Skip to content
one to go edited this page Jan 22, 2026 · 1 revision

🩸 BloodOS Wiki

Welcome to the BloodOS Wiki.

BloodOS is a hobby operating system written from scratch using C and x86 Assembly. This project is designed for educational purposes, focusing on low-level system programming and operating system internals.

BloodOS is not a Linux fork and not based on any existing operating system. Every component β€” from the bootloader to the kernel and drivers β€” is implemented manually to help learners understand how an OS truly works.


🎯 Purpose of This Wiki

This wiki documents the internal design, architecture, and implementation details of BloodOS. It is intended to:

  • Help beginners understand OS development concepts
  • Serve as a technical reference for low-level programmers
  • Explain why certain design decisions were made
  • Provide a clean and structured learning path

If you are learning Operating System Development (OSDev), this wiki is for you.


🧠 What You Will Learn

By reading this wiki, you will learn about:

  • How a PC boots (BIOS β†’ Bootloader β†’ Kernel)
  • Real Mode and Protected Mode transitions
  • Kernel initialization and architecture
  • Interrupt handling (PIC, IRQ, ISR)
  • Memory management basics
  • Hardware drivers (VGA, Keyboard, Timer, ATA)
  • FAT12 filesystem implementation
  • Building and running an OS using QEMU

🧱 High-Level Architecture

BIOS
  ↓
Bootloader (Real Mode)
  ↓
Protected Mode Setup (GDT)
  ↓
Kernel Entry
  ↓
Kernel Core
  β”œβ”€β”€ Drivers
  β”œβ”€β”€ Filesystem
  β”œβ”€β”€ Memory Manager
  └── Shell

BloodOS follows a modular architecture to keep the codebase readable, maintainable, and educational.


πŸ“‚ Source Code Structure

The project is organized into clear modules:

  • boot/ β€” Bootloader and early CPU setup
  • kernel/ β€” Core kernel logic and shell
  • drivers/ β€” Hardware drivers
  • fs/ β€” Filesystem layer (FAT12)
  • src/ β€” Core libraries (string, memory, I/O)
  • tools/ β€” Development and debugging tools

Detailed explanations for each module are available in their respective wiki pages.


πŸš€ Getting Started

New to BloodOS? Start here:

  1. Getting Started β€” Build and run BloodOS
  2. Boot Process β€” From BIOS to kernel
  3. Kernel Architecture β€” Core system design
  4. Drivers β€” Hardware interaction

These pages will guide you step-by-step.


❗ Disclaimer

BloodOS is an educational hobby project.

  • ❌ Not intended for production use
  • ❌ No security guarantees
  • βœ… Built for learning and experimentation

🀝 Contributing

Contributions, suggestions, and feedback are welcome.

You can help by:

  • Improving documentation
  • Fixing bugs
  • Adding new drivers or features
  • Reviewing code and design decisions

Check the GitHub repository for open issues and roadmap.


⭐ Support

If you find BloodOS useful or interesting:

  • ⭐ Star the repository
  • 🍴 Fork it
  • πŸ—£οΈ Share it with other OSDev learners

BloodOS β€” learning how operating systems really work.

Clone this wiki locally