Skip to content

Vol 3: Computer Systems ​

You write x + 1; the machine still has to represent the values, execute instructions, and access memory. This volume follows that work into processes, file systems, and virtualization, asking which guarantees come from the language, operating system, or hardware. When a program fails intermittently, “it works on my machine” is a useful clue. It needs more evidence before it becomes a conclusion.

Prerequisites ​

  • Be comfortable with functions, loops, and arrays. The C examples also use pointers and object lifetimes; revisit Volume 1 as needed.
  • Know how to compile and run programs in a terminal and read their errors. If those steps are unfamiliar, start with the terminal and debugging labs in Volume 0.

Coverage ​

The first six chapters cover data representation, processors, and the memory hierarchy. Chapters 7–14 examine how operating systems manage programs and resources. The final four connect these layers through pipelines, the C memory model, assembly, and performance measurement.

Chapter 1 ​

Chapter 2 ​

Chapter 3 ​

Chapter 4 ​

Chapter 5 ​

Chapter 6 ​

Chapter 7 ​

Chapter 8 ​

Chapter 9 ​

Chapter 10 ​

Chapter 11 ​

Chapter 12 ​

Chapter 13 ​

Chapter 14 ​

Chapter 15 ​

Chapter 16 ​

Chapter 17 ​

Chapter 18 ​

Outcomes ​

  • Identify where integer overflow, floating-point error, cache misses, and page faults occur.
  • Trace resources shared by processes and threads, and analyze synchronization, deadlock, and file persistence problems.
  • Read short C and assembly examples, then check a suspected bottleneck with timing, performance counters, or system observations.

How to use this map ​

For a first pass, read in order and find a small experiment for each mechanism. When investigating a problem, jump to the relevant chapters: 5, 6, and 16 for memory; 9, 11, and 12 for stuck threads; or 18 for performance measurement. Check the platform and compiler options before each experiment. A different result on another machine can itself be a clue.

Built with VitePress | Software Systems Atlas