ARM64 OS Handbook
🔍

ARM64 Operating System Handbook

A beginner-friendly textbook that teaches how operating systems work by guiding you through building one from scratch for the ARM64 architecture.

About This Book

This book is written for students and developers who want to learn how a modern operating system works by building one step by step. Every chapter starts with the fundamentals, explains concepts using simple language and practical examples, and then shows how those ideas can be applied to your own kernel.

The goal is not just to build an operating system, but to understand why every part exists and how it works. By the end of this book, you will have a working kernel and a deep understanding of how computers operate at the lowest level.

Who Is This For?

  • Developers who want to understand what happens beneath their applications
  • Anyone curious about how CPUs, memory, and kernels really work

What You Will Build

Component Chapter
Development environment and first kernel1
Bootloader that loads our kernel7-9
Exception and interrupt handling11-12
Memory management with paging15-21
Process scheduler and context switching13, 22-24
System calls for user-space programs14
Device drivers (UART, framebuffer, storage)32-35
File system and storage30-31
Shell and user-space applications37-39

Target Platform

Our operating system targets the ARMv8-A architecture in 64-bit mode (AArch64). We develop using QEMU, which emulates the target hardware, and will later port to Raspberry Pi 4 and Raspberry Pi 5.

How to Read This Book

Chapters are arranged so that each one builds on the previous. Start with Chapter 1 and work your way forward. Each chapter includes exercises to test your understanding. Try them before moving on.

When you are ready, begin with Chapter 1: What is an Operating System?