Most people who try to learn Operating System development give up before they even change a single pixel on the screen. They get stuck in "tooling hell"—wrestling with arcane linker scripts, complex assembler syntax, and brittle build systems.
I wrote Operating System Development with Aetherix (2nd Edition) to offer a different path. This book isn't just about a toolkit, it's a ground-up guide to the physical and logical reality of how a computer actually boots and runs code.
What’s different about this book:
- Minimal Prerequisites: The only prerequisite is ordinary arithmetic. We start by manually converting binary and hexadecimal to understand how code physically becomes a voltage on a wire.
- The Language of Bytes: Instead of teaching an assembler’s syntax, this book teaches x86 machine code as its own language. You’ll learn to read and write raw bytes, understanding the ModR/M and SIB fields that define CPU instructions.
- A "From-Scratch" Reference: Many chapters function as standalone references for computer science fundamentals. We dive deep into logic gates, flip-flops, memory hierarchies (DRAM/SRAM), and even the physics of how NAND flash traps an electrical charge.
- Modern vs. Legacy Firmware: The book provides an honest, separate look at both the 16-bit BIOS real-mode world and the modern 64-bit UEFI long-mode environment, acknowledging that they share almost nothing at the byte level.
-
Verification Culture: We don't assume code works because it "looks right". Every concept is verified against independent tools like
objdumpand the Unicorn Engine CPU emulator to ensure absolute correctness.
This book is about transparency and honesty. It documents real bugs caught during development to teach you the discipline required for low-level programming. Whether you're a student or a hobbyist, my goal is to show you exactly what is happening at the byte level, from power-on sequencing to network framing.
The project is fully open-source under the GNU AGPL-3.0-or-later license.
Source:
Book Link:
https://github.com/DivyanshuSinha136/Aetherix/blob/main/book/Operating_System_with_Aetherix_ED2.pdf
GitHub Page:
DivyanshuSinha136
/
Aetherix
A Python-native operating system development framework for building bootable x86 and x86_64 systems. Aetherix supports both legacy BIOS and modern UEFI firmware, generates machine code directly through its own native encoder, and provides high-level APIs alongside low-level instruction control.
Aetherix
A Python-native operating system development framework for building bootable x86 and x86_64 systems. Aetherix supports both legacy BIOS and modern UEFI firmware, generates machine code directly through its own native encoder, and provides high-level APIs alongside low-level instruction control.
from aetherix import Project
with Project("MyOS") as os:
@os.kernel_entry
def main(prog, drivers):
drivers.vga.clear(prog)
drivers.vga.print_string(prog, "Hello, world!")
prog.hlt()
os.build("myos.img")
qemu-system-i386 -drive file=myos.img,format=raw
Or write it to a USB stick: sudo dd if=myos.img of=/dev/sdX bs=4M status=progress
(VirtualBox/VMware also accept the raw .img/.bin directly as a virtual disk.)
Install
pip install -e .
Requires a C compiler (gcc/clang/MSVC) on the machine building the package — the native encoder core is compiled once, either at install time or…
PyPI Page:






Top comments (0)