Index / 001 EN
Operating Systems: Three Easy Pieces cover

Computer Science

Computer Science

Operating Systems: Three Easy Pieces

Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau

A practical introduction to virtualization, concurrency, and persistence—the three conceptual pieces that organize modern operating systems.

Difficulty Level
Advanced
Academic Level
Undergraduate
operating systemsvirtualizationprocessesconcurrencyvirtual memoryfile systemssystems programming

01 / Classic Textbook Recommendation

Classic Textbook Recommendation

Citation

Arpaci-Dusseau, R. H., & Arpaci-Dusseau, A. C. (2018). Operating Systems: Three Easy Pieces (Version 1.00). Arpaci-Dusseau Books.

Why It Matters

Operating systems are often taught as a collection of mechanisms. This book organizes them around three durable ideas—virtualization, concurrency, and persistence—then connects those ideas to the interfaces programmers actually use.

Core Ideas

Virtualization

The operating system turns limited processors and memory into the illusion of private, flexible resources. Processes, address spaces, scheduling, and paging explain how that illusion is built.

Concurrency

Threads and interrupts create interleavings that a sequential program never reveals. Locks, condition variables, semaphores, and careful invariants make concurrent behavior analyzable.

Persistence

Files and storage devices must preserve information despite crashes, delays, and imperfect hardware. File systems, journaling, and data integrity show how software manages durable state.

Policy and Mechanism

A system needs mechanisms that make actions possible and policies that decide which action is appropriate. Separating the two helps explain scheduling, memory management, and resource allocation.

Reading Lens

Pair each chapter with a small experiment: trace a process, measure a scheduling policy, inspect a page table, or reason about a file-system failure. The goal is to make the abstraction visible in behavior.

Conclusion

Operating Systems: Three Easy Pieces is a clear bridge from programming to systems. It gives students the vocabulary needed to understand kernels, runtime libraries, performance, and the limits of computer abstractions.