Article revision Version 2 of 3

PeachOS 64-Bit

Edited by @nibblebits Aug 22, 2026 at 21:09
View current article
Published change

Added image

This permanent snapshot records exactly what @nibblebits published in version 2.

Snapshot

Article at version 2

Project Showcases

Checkout my 64-bit operating system I wrote from scratch here: https://github.com/nibblebits/PeachOS64BitModuleTwo/tree/main PeachOS

PeachOS64 — Build a Modern 64-Bit Operating System From Scratch

This repository is the companion source code for Part 2 of the PeachOS series.
In Part 1, we built PeachOS, a fully functioning 32-bit multitasking operating system.

In Part 2, we take the project to the next level:
🚀 Building a 64-bit multi-threaded kernel that runs in long mode with a graphical user interface (GUI) capable of rendering interactive, clickable, draggable windows.


Get the Course Part 2 Module One

Get the Course Part 2 Module Two

CLICK FOR FULL PART 2 SERIES BUNDLE

What You’ll Learn in This Course

This isn’t just theory—you’ll build a complete, modern OS step by step, starting from the bootloader all the way to a graphical desktop environment.

🔹 Module 1 Overview

  • Graphics & Display

    • Capture and control the UEFI framebuffer (draw pixels directly to screen).
    • Load images & fonts.
    • Build a terminal that renders text using pixel-based fonts.
    • Create the graphical subsystem beneath the terminal:
      • Relative drawing anywhere on screen.
      • Hierarchical graphics (parent/child offsets).
      • Composable UI elements.
  • Memory Management

    • Rebuild the heap allocator using the UEFI/BIOS E820 memory map.
    • Multi-heap system with intelligent allocation.
    • Paging-based memory defragmenter to solve fragmentation.
  • Disk & Partitions

    • Extend FAT16 filesystem to support multiple GPT partitions.
    • Mount each partition as a virtual drive.
    • Abstract the disk system for modern SSD/PCIe storage support.

By the end of Module 1, you’ll have:

  • A 64-bit kernel bootable on modern UEFI hardware.
  • A pixel-based terminal with a full graphical foundation.
  • Advanced heap allocator + defragmentation support.
  • A multi-partition disk subsystem ready for GPT/SSD storage.

🔮 Module 2 Now Released

  • Standard C library in userspace (fopen, fread, etc.) via isr80h.
  • Full windowing system with interactive GUI elements.
  • NVMe SSD driver (high-speed storage).
  • PCI/PCIe enumeration & bridge support.
  • Faster program loading due to disk streamer cacheing
  • Run real user programs on your OS — contribute to the shared GitHub repo of student applications!

By the end of Part 2, you’ll have built a multi-threaded, 64-bit, GUI operating system from scratch—bootable on real hardware and extensible enough to run user applications.


Get the Course Part 2 Module Two

📚 Take the Course

This repo contains the source code, but the course walks you through every line of it step by step.
👉 Enroll Here Module 1 and start building your own OS today. 👉 Enroll Here Module 2 and start building your own OS today.


LICENSE: All source code in this repository is licensed udner GPLv2 license you must follow the license terms if you need help understanding the terms contact daniel@dragonzap.com

License

This code is provided for educational purposes as part of the PeachOS course under GPL license See the license file.

osdevprogrammingkernelkerneldevpeachos
Change set

Changes in version 2

+2−0
article.md
1 1 Checkout my 64-bit operating system I wrote from scratch here: https://github.com/nibblebits/PeachOS64BitModuleTwo/tree/main
2 ![PeachOS](<https://private-user-images.githubusercontent.com/10853777/531344644-4022f9b3-a409-4b57-9454-eddec561fa18.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODc0Mjk1NzYsIm5iZiI6MTc4NzQyOTI3NiwicGF0aCI6Ii8xMDg1Mzc3Ny81MzEzNDQ2NDQtNDAyMmY5YjMtYTQwOS00YjU3LTk0NTQtZWRkZWM1NjFmYTE4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA4MjIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwODIyVDIwMDc1NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTU4YWUzZWMxMjFiZjBiNTdhNDQ3NTdmNzE0NTVkNjE2NjFlZTE3OTg0ZDgyNDQ2OGM3OTAwZTI5M2M2MWNkZjEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.mgdQpIdmjq9orppjMu9V7IEMJxWmpkY7B1gptAmVnU0>)
3 <hr />
2 4
3 5 # PeachOS64 — Build a Modern 64-Bit Operating System From Scratch
4 6
5 7
6 8 <p align="center">
7 9 <a href="https://dragonzap.com/offer/developing-a-multithreaded-kernel-from-scratch-part-two-full-series">
8 10 <img width="650" alt="PeachOS Part Two Kernel Dev Series Click To Obtain" src="https://github.com/user-attachments/assets/4022f9b3-a409-4b57-9454-eddec561fa18" />
9 11 </a>
10 12 </p>
11 13
12 14 This repository is the companion source code for **Part 2 of the PeachOS series**.
13 15 In [Part 1](https://dragonzap.com/course/developing-a-multithreaded-kernel-from-scratch?coupon=GITHUBKERNELDISCOUNT), we built **PeachOS**, a fully functioning **32-bit multitasking operating system**.
14 16
15 17 In **Part 2**, we take the project to the next level:
16 18 🚀 Building a **64-bit multi-threaded kernel** that runs in long mode with a **graphical user interface (GUI)** capable of rendering **interactive, clickable, draggable windows**.
17 19
18 20 ---
19 21
20 22 [![Get the Course Part 2 Module One](https://img.shields.io/badge/Get%20%20Module%20One%20-blue?style=for-the-badge&logo=appveyor)](https://dragonzap.com/course/developing-a-multithreaded-kernel-from-scratch-part-two-module-one)
21 23
22 24 [![Get the Course Part 2 Module Two](https://img.shields.io/badge/Get%20Module%20Two-blue?style=for-the-badge&logo=appveyor)](https://dragonzap.com/course/developing-a-multithreaded-kernel-from-scratch-part-two-module-two)
23 25
24 26 [![CLICK FOR FULL PART 2 SERIES BUNDLE](https://img.shields.io/badge/Get%20Full%20Part%202%20Series%20Bundle%20Offer-blue?style=for-the-badge&logo=appveyor)](https://dragonzap.com/offer/developing-a-multithreaded-kernel-from-scratch-part-two-full-series)
25 27
26 28 ## What You’ll Learn in This Course
27 29 This isn’t just theory—you’ll build a complete, modern OS step by step, starting from the bootloader all the way to a graphical desktop environment.
28 30
29 31 ### 🔹 Module 1 Overview
30 32 - **Graphics & Display**
31 33 - Capture and control the UEFI framebuffer (draw pixels directly to screen).
32 34 - Load images & fonts.
33 35 - Build a terminal that renders text using pixel-based fonts.
34 36 - Create the graphical subsystem beneath the terminal:
35 37 - Relative drawing anywhere on screen.
36 38 - Hierarchical graphics (parent/child offsets).
37 39 - Composable UI elements.
38 40
39 41 - **Memory Management**
40 42 - Rebuild the heap allocator using the UEFI/BIOS E820 memory map.
41 43 - Multi-heap system with intelligent allocation.
42 44 - Paging-based **memory defragmenter** to solve fragmentation.
43 45
44 46 - **Disk & Partitions**
45 47 - Extend FAT16 filesystem to support multiple **GPT partitions**.
46 48 - Mount each partition as a virtual drive.
47 49 - Abstract the disk system for modern SSD/PCIe storage support.
48 50
49 51 ✅ **By the end of Module 1, you’ll have:**
50 52 - A 64-bit kernel bootable on modern UEFI hardware.
51 53 - A pixel-based terminal with a full graphical foundation.
52 54 - Advanced heap allocator + defragmentation support.
53 55 - A multi-partition disk subsystem ready for GPT/SSD storage.
54 56
55 57 ---
56 58
57 59 ### 🔮 Module 2 Now Released
58 60 - Standard C library in userspace (`fopen`, `fread`, etc.) via `isr80h`.
59 61 - Full **windowing system** with interactive GUI elements.
60 62 - NVMe SSD driver (high-speed storage).
61 63 - PCI/PCIe enumeration & bridge support.
62 64 - Faster program loading due to disk streamer cacheing
63 65 - Run **real user programs** on your OS — contribute to the shared GitHub repo of student applications!
64 66
65 67 By the end of Part 2, you’ll have built a **multi-threaded, 64-bit, GUI operating system** from scratch—bootable on real hardware and extensible enough to run user applications.
66 68
67 69 ---
68 70
69 71
70 72 [![Get the Course Part 2 Module Two](https://img.shields.io/badge/Get%20the%20Course-Discount%20Link-blue?style=for-the-badge&logo=appveyor)](https://dragonzap.com/course/developing-a-multithreaded-kernel-from-scratch-part-two-module-two)
71 73
72 74
73 75 ## 📚 Take the Course
74 76 This repo contains the **source code**, but the **course** walks you through every line of it step by step.
75 77 👉 [Enroll Here Module 1](https://dragonzap.com/course/developing-a-multithreaded-kernel-from-scratch-part-two-module-one) and start building your own OS today.
76 78 👉 [Enroll Here Module 2](https://dragonzap.com/course/developing-a-multithreaded-kernel-from-scratch-part-two-module-two) and start building your own OS today.
77 79
78 80
79 81 ---
80 82
81 83 LICENSE: All source code in this repository is licensed udner GPLv2 license you must follow the license terms if you need help understanding the terms contact daniel@dragonzap.com
82 84
83 85
84 86 ## License
85 87 This code is provided for **educational purposes** as part of the PeachOS course under GPL license See the license file.