Chapter 38 Further Reading: Capstone — A Minimal OS Kernel
Essential References
OSDev Wiki
https://wiki.osdev.org/
The definitive community reference for OS development. Every component of MinOS has a corresponding OSDev wiki article: GDT Tutorial, IDT Tutorial, Setting Up Paging, PIC (8259A), PIT, VGA Text Mode, Keyboard Input, ATA PIO, and more. The wiki is the first reference to check when any MinOS component fails unexpectedly. The quality varies but the core articles are reliable.
Intel® 64 and IA-32 Software Developer's Manual, Volume 3: System Programming Guide Chapters 2 (Protected Mode Memory Management), 3 (Protected-Mode Memory Management), 5 (Interrupt and Exception Handling), 6 (Task Management), and 10 (Advanced Programmable Interrupt Controller) are the normative specifications for everything MinOS does. When the OSDev wiki is ambiguous, the Intel SDM is authoritative. Document 325384 at intel.com.
Books
"Operating Systems: Three Easy Pieces" (OSTEP) by Remzi Arpaci-Dusseau and Andrea Arpaci-Dusseau
https://ostep.org/ (free online)
The best free OS textbook. Covers virtualization (processes, memory), concurrency (locks, condition variables, semaphores), and persistence (filesystems). OSTEP explains the why of OS design decisions. Reading OSTEP alongside MinOS development connects the assembly-level implementation to the conceptual framework.
"Modern Operating Systems" by Andrew Tanenbaum The classic undergraduate OS textbook. Chapter 1 (Introduction) and Chapter 2 (Processes and Threads) are especially relevant for MinOS's scheduler. Tanenbaum's MINIX system inspired MinOS's name and structure.
"The Design of the UNIX Operating System" by Maurice Bach A deep dive into UNIX kernel internals from 1986. The fundamental structures — process table, file table, inode, scheduler — are described at implementation level. The MinOS shell and scheduler owe their structure to UNIX concepts described here.
Online Courses and Tutorials
"Writing a Simple Operating System from Scratch" by Nick Blundell (PDF)
http://www.cs.bham.ac.uk/~exr/lectures/opsys/10_11/lectures/os-dev.pdf
A 107-page tutorial building an x86 OS from BIOS boot through C integration. The bootloader sections (chapters 2-3) cover the real mode → protected mode → C transition in detail, making it an excellent companion for MinOS's boot development.
"os-tutorial" by cfenollosa (GitHub)
https://github.com/cfenollosa/os-tutorial
32 incremental tutorial steps from BIOS boot to a shell. Each step is a self-contained directory with a working OS at that stage. Useful for debugging: if MinOS step N fails, compare to the tutorial's equivalent step.
QEMU documentation
https://www.qemu.org/docs/master/
Complete reference for QEMU flags, machine types, and debug features. The -s -S GDB stub documentation, the -serial stdio documentation, and the x86-64 machine models (q35 vs. i440fx) are particularly relevant for MinOS.
ARM64 References
ARM Architecture Reference Manual (ARM DDI 0487) The authoritative specification for ARM64. Sections on exception levels (D1), AArch64 instruction set (C3), memory management (D4-D7), and generic timer (D10) are relevant to ARM64 MinOS. Available free with registration at developer.arm.com.
"Learning AArch64 Linux Assembly" tutorials
Several online tutorials (search "ARM64 assembly QEMU virt bare metal") cover writing minimal ARM64 programs for the QEMU virt machine. These are the ARM64 equivalent of the OSDev wiki for x86.
Community
OSDev Forum
https://forum.osdev.org/
Active Q&A community for OS developers at all levels. The "OS Development" and "Bootloader Development" boards are directly relevant. Searching before posting will find solutions to most common MinOS problems.
#osdev on Libera.Chat IRC The traditional IRC channel for OS development. Real-time help for specific problems. The regulars are knowledgeable and helpful for well-formed questions.