• hardware → OS → kernel → virtualization → measurement → paper writing
  • minimum redundancy
  • maximum relevance to kernel / KVM / nested virtualization / systems research

Table 1 — Core spine

BookAuthorsWhat it is for
The C Programming LanguageBrian W. Kernighan, Dennis M. RitchieYour compact foundation for low-level C fluency and clean systems style. (Pearson)
Computer Organization and DesignDavid A. Patterson, John L. HennessyThe gentlest hardware-first bridge: ISA, datapath, pipelines, caches, and the hardware/software interface. (Elsevier Shop)
Computer Systems: A Programmer’s PerspectiveRandal E. Bryant, David R. O’HallaronBridges C to the real machine: memory hierarchy, linking, exceptional control flow, virtual memory, performance. (Pearson)
Computer Architecture: A Quantitative ApproachJohn L. Hennessy, David A. Patterson, Christos KozyrakisThe deep cost model book: caches, TLBs, NUMA, coherence, multiprocessors, and quantitative tradeoffs. (Elsevier Shop)
Operating Systems: Three Easy PiecesRemzi H. Arpaci-Dusseau, Andrea C. Arpaci-DusseauBest first-principles OS model: virtualization, concurrency, and persistence; free online. (CS User Pages)
Linux System ProgrammingRobert LoveThe Linux user/kernel boundary in practice: processes, threads, files, signals, timers, and IPC. (Amazon)
Linux Kernel DevelopmentRobert LoveYour first inside-the-kernel systems book: scheduling, interrupts, timers, memory management, kernel design. (Pearson Technology Group)
The Linux Programming InterfaceMichael KerriskThe long-term Linux/UNIX reference you keep nearby while building and debugging real systems. (man7.org)
Understanding the Linux Virtual Memory ManagerMel GormanCrucial for your area: page tables, allocators, faults, zones, reclaim, and VM mental models. (Kernel.org)
Is Parallel Programming Hard, And, If So, What Can You Do About It?Paul E. McKenneyKernel-grade concurrency: RCU, memory ordering, synchronization, and shared-memory reasoning. (arXiv)
Hardware and Software Support for VirtualizationEdouard Bugnion, Jason Nieh, Dan TsafrirThe virtualization backbone: architectural support, VT-x, nested virtualization, and hypervisor design. (Springer)

Table 2 — Implementation and measurement stack

BookAuthorsWhat it is for
Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 3IntelNot a normal book — the architecture rulebook for protection, paging, interrupts, APIC, VMX, and VT-x. Read it whenever KVM gets real. (Intel)
Systems PerformanceBrendan GreggThe methodology book for proving what is slow, why it is slow, and how to measure it properly. (brendangregg.com)
Learning eBPFLiz RicePractical entry to eBPF: writing programs, loading them, and understanding observability/networking use cases. (GitHub)
BPF Performance ToolsBrendan GreggOperational observability: ready-to-use BPF workflows for tracing kernel and system bottlenecks. (brendangregg.com)
Linux Device DriversJonathan Corbet, Alessandro Rubini, Greg Kroah-HartmanOlder, but still valuable for modules, DMA, interrupts, and device-model thinking. (LWN.net)
The Art of Multiprocessor ProgrammingMaurice Herlihy, Nir Shavit, Victor Luchangco, Michael SpearStronger theory of multicore synchronization, concurrent objects, and algorithmic concurrency tradeoffs. (ScienceDirect)
TCP/IP Illustrated, Volume 1W. Richard Stevens, Kevin R. FallThe networking book I’d keep: packet-level intuition and protocol behavior that actually helps systems debugging. (Apple)

Table 3 — Support shelf and paper craft

BookAuthorsWhat it is for
Writing for Computer ScienceJustin ZobelTurns good technical work into a readable, convincing systems paper. (Springer)
The Craft of ResearchWayne C. Booth, Gregory G. Colomb, Joseph M. Williams, Joseph Bizup, William T. FitzGeraldHelps you turn vague ideas into research questions, claims, evidence, and argument. (University of Chicago Press)
Understanding the Linux KernelDaniel P. Bovet, Marco CesatiUseful as a historical/internal-structure reference, but not a current-kernel authority. (Amazon)
Expert C ProgrammingPeter van der LindenGood for sharpening C intuition and avoiding low-level mistakes once you are already coding heavily in C. (Amazon)

Final reading order

If you want the order as one single sequence:

  1. The C Programming Language

  2. Computer Organization and Design

  3. Computer Systems: A Programmer’s Perspective

  4. Computer Architecture: A Quantitative Approach

  5. Operating Systems: Three Easy Pieces

  6. Linux System Programming

  7. Linux Kernel Development

  8. The Linux Programming Interface

  9. Understanding the Linux Virtual Memory Manager

  10. Is Parallel Programming Hard?

  11. Hardware and Software Support for Virtualization

  12. Intel SDM Volume 3

  13. Systems Performance

  14. Learning eBPF

  15. BPF Performance Tools

  16. Linux Device Drivers

  17. The Art of Multiprocessor Programming

  18. TCP/IP Illustrated, Volume 1

  19. Writing for Computer Science

  20. The Craft of Research

  21. Understanding the Linux Kernel

  22. Expert C Programming

This is the final list I’d stand behind for your PhD direction.

If you want, next I’ll turn this into a 12-month reading + implementation schedule with what to code after each book.