HackerTube.live
Books / Systems

THE READING ROOM / BOOK GUIDE

Modern Operating Systems

Andrew S. Tanenbaum; Herbert Bos

A textbook for readers who want to understand what an operating system does, from process scheduling and memory management to file systems and security, with attention to design tradeoffs rather than commands to memorize.

About the book

Modern Operating Systems surveys the software layer between hardware and applications. Andrew Tanenbaum and Herbert Bos organize the material around the problems every operating system must solve: managing processes, allocating memory, scheduling work, storing files, handling input and output, and enforcing security. Each is treated as an engineering question with competing answers, so several approaches to a problem appear side by side.

Coverage extends beyond conventional single-machine systems. Distributed systems, multiprocessors, and the coordination problems that arise when many processors share state receive sustained attention. The authors also discuss how operating systems are structured, which keeps the focus on architecture rather than the syntax of any one platform. Examples draw on well-known systems, but the aim is general understanding, not training in a particular vendor's tools.

Tanenbaum has written widely used texts on computer architecture and networks, and this book shares their explanatory style: definitions arrive early, diagrams carry real weight, and each concept is motivated before it is formalized. Bos joins as coauthor in later editions, and the book has been revised repeatedly to keep pace with changes in hardware and system design.

How to read it

Read with a pencil and expect to work. The prose is clear, but the density is high: a single section on virtual memory or deadlock can require several passes before the pieces connect. Take the exercises seriously. They often ask you to compare designs or reason about a scenario, which is where the material becomes usable rather than merely familiar.

The book rewards readers who already know something about computer organization. If terms like cache, interrupt, and address space are new, keep a reference nearby. Chapters can be read out of order to some extent, but the early treatment of processes and memory underpins later discussions of scheduling, file systems, and distributed coordination. Skim the case-study material on a first pass and return to it once the general principles are secure.

Who it suits

This suits computer science students taking a systems course, working programmers who want to understand what happens beneath their language runtime, and engineers moving into systems or infrastructure work. It also helps technical managers who need enough vocabulary to evaluate design proposals. Readers seeking a quick practical guide to administering a particular operating system should look elsewhere; this book explains principles, not procedures.

Reading considerations

The book is long and assumes sustained attention, so it works better as a course companion or a structured self-study plan than as casual reading. Editions differ in their coverage of recent hardware and system trends, so check which edition you have and whether its examples match the systems you use. Some material reflects the authors' preferences among competing designs, and readers should treat those judgments as arguments to test rather than settled fact.

Follow the HN conversation

52 different recommenders are recorded in the upstream dataset. These are AI-classified source counts, not an independent rating.

Search HN comments about this book ↗

Explore videos on the same subject ↗

Book notes prepared with DeepSeek, using catalogue records and Open Library subject information. They are reading guidance, not a personal review or a verified chapter-by-chapter account. Book details can vary by edition. HN data methodology · Book metadata and covers.