HackerTube.live
Books / Systems

THE READING ROOM / BOOK GUIDE

Operating Systems

Andrew S. Tanenbaum; Albert S. Woodhull

A textbook that builds an operating system from the inside out, using MINIX as its working example, for readers who want to understand how processes, memory and files are actually managed.

About the book

Andrew S. Tanenbaum and Albert S. Woodhull wrote this as a design and implementation text. The organizing idea is that an operating system is easier to understand when you watch one get built. MINIX, a small Unix-like system the authors present in detail, serves as the concrete case throughout. Concepts arrive attached to code and to decisions about structure, so abstraction and implementation stay close together.

The book covers the classic ground of the field: process management and scheduling, interprocess communication, memory management including paging and segmentation, file systems, input and output, and deadlock. It also treats the design questions behind those mechanisms, such as how a kernel should be organized and where the boundary between kernel and user space should fall. The MINIX example lets the authors show tradeoffs rather than assert conclusions.

Because the subject is systems software, the material rewards patience with mechanism. Readers meet layered design, message passing and the practical cost of each choice. A reader can follow an argument about scheduling or memory from its motivation into the structures that carry it out.

How to read it

Read with a machine or a scratch environment nearby if possible. The MINIX material is most useful when you trace a mechanism through its parts rather than reading the prose as a summary. Pause at design comparisons and ask what each alternative costs in complexity, performance and portability.

The prose is instructional and steady, with more attention to how things work than to narrative. Some sections assume comfort with C, pointers, interrupts and basic hardware ideas. Readers without that background should expect to slow down early, and may want a general computer organization text alongside. Later chapters on file systems and I/O benefit from returning to earlier material on processes and memory.

Who it suits

This suits students and working programmers who want a grounded account of how an operating system is structured and why. It fits readers preparing for systems courses, self-taught developers moving from application code toward kernels, and anyone curious about the design reasoning behind Unix-like systems. Instructors will find the MINIX case useful for assigning concrete work. Readers seeking a broad tour of Windows, Linux and macOS administration should look elsewhere.

Reading considerations

The book reflects its period. MINIX and the hardware assumptions of the late 1980s differ from current production systems, so treat specific implementation details as historical examples rather than current practice. Later editions revise coverage, and edition matters if you are following a course. Test the book's design claims against a modern kernel to see which tradeoffs still hold.

Follow the HN conversation

63 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.