03 — Resources
Resources
Books, papers, references, and tools that shaped this lab. Curated, not comprehensive.
- 01 Computer Systems: A Programmer's Perspective
The definitive book for understanding systems from bits to processes. Chapters on memory, linking, and I/O are essential.
- 02 Operating Systems: Three Easy Pieces ↗
Free online textbook covering virtualization, concurrency, and persistence. Extremely clear writing.
- 03 The Linux Programming Interface
Comprehensive guide to Linux syscalls, processes, files, sockets, and everything in between.
- 01 Intel Software Developer Manual ↗
The authoritative source on x86 architecture. Vol. 3A covers protected mode and paging in detail.
- 02 OSDev Wiki ↗
Invaluable community knowledge base for bare-metal development. Start here for boot, GDT, and IDT.
- 01 What Every Programmer Should Know About Memory ↗
Long-form paper on CPU caches, memory hierarchy, and NUMA. Changes how you write code forever.
- 02 The Anatomy of a System Call
Deep dive into how the Linux kernel implements system calls on x86-64.
- 01 GDB + pwndbg
GDB is essential for kernel debugging. pwndbg extends it with better memory visualization and heap analysis.
- 02 QEMU ↗
Full-system emulator. Used to boot and test MiniKernel. Use -s -S for GDB remote debugging.