Every operating systems course teaches the same three ideas. The kernel gives each process the illusion of a private machine, it keeps concurrent work from corrupting shared state, and it makes data survive a crash or a power cut. The best book for operating systems is the one whose route to those ideas matches how you learn: some start from theory, some from the C code a programmer writes, and some from a running Linux system.
This guide ranks eight books across that range, from a free beginner text to a kernel programming manual, and flags the old editions that still show up first in search results, so you do not pay more for an outdated text. The editions, formats and prices described here were checked against publisher pages and live Amazon listings in October 2026.
How to choose an operating systems book
The key insight is that the right book depends on what you want to be able to do when you finish, because a student facing an exam needs the vocabulary and the classic algorithms, such as page replacement and scheduling. A programmer needs to know what a system call costs and why a fork behaves the way it does. A sysadmin needs to map those ideas onto a real boot, a real process table and a real file system. Each of those goals points to a different book.
| If you want to | Start with |
|---|---|
| Learn OS concepts for the first time, cheaply | Operating Systems: Three Easy Pieces |
| Follow a university course that assigns the standard text | Operating System Concepts or Modern Operating Systems |
| Really understand concurrency and synchronization | Operating Systems: Principles and Practice |
| See the OS from the side of the code you write | Computer Systems: A Programmer’s Perspective |
| Understand what a Linux machine is doing | How Linux Works |
| Write programs that use processes, signals and threads | System Programming in Linux |
| Read and write Linux kernel code | Linux Kernel Programming |
The eight books at a glance
| Book | Edition | Level | Price |
|---|---|---|---|
| Operating Systems: Three Easy Pieces | v1.10 (2023) | Beginner to undergrad | About $28, free online |
| Operating System Concepts | 10th (2018), 2021 loose-leaf printing | Undergrad | About $92 |
| Modern Operating Systems | 5th, Global Edition (2023) | Undergrad to grad | About $57 |
| Operating Systems: Principles and Practice | 2nd (2014) | Undergrad | About $61 |
| Computer Systems: A Programmer’s Perspective | 3rd (2015) | Undergrad | About $190 |
| How Linux Works | 3rd (2021) | Beginner, sysadmin | About $47 |
| System Programming in Linux | 1st (2025) | Programmer | About $71 |
| Linux Kernel Programming | 2nd (2024) | Kernel developer | About $36 |
1. Operating Systems: Three Easy Pieces by Remzi and Andrea Arpaci-Dusseau
This is where we would send almost anyone starting out, because it is clear, cheap and complete. Two University of Wisconsin professors wrote it around the three ideas above, virtualization, concurrency and persistence, and every chapter is free as a PDF on the site of the book. The printed softcover costs less than most single textbook chapters do elsewhere.

What makes it work is the tone. Each chapter opens with the problem the OS has to solve, which the authors call the crux, and walks toward the mechanism that solves it, so you understand why a page table exists before you see its layout. The book site also hosts simulator-based homework and C projects, and the current version is 1.10. The authors warn that some Amazon resellers sell old printings as new, so check that the seller is Amazon.com.
Best for: self-learners and students who want the concepts explained clearly before the formalism. Less useful if your course grades you on the terminology of a specific textbook, or you want Windows internals, which it barely covers. About $28 in print, or free online.
2. Operating System Concepts, Tenth Edition by Silberschatz, Galvin and Gagne
Known for decades as the dinosaur book, this is the text many university OS courses still assign. It covers the full syllabus, from process scheduling and deadlocks to virtual memory, file systems, security and virtualization, with Linux and Windows examples throughout.

The tenth edition is still the current one. The companion site provides practice exercise solutions, source code, a Linux virtual machine and study material, which makes it workable for self-study too. One detail matters when you order: the print copy listed on Amazon is a loose-leaf, binder-ready edition rather than a bound paperback.
Buy it when your course lists it or you want the broadest single reference. Look elsewhere if you learn better from narrative explanation than from a dense survey. It runs to more than 1,000 pages. Around $92.
3. Modern Operating Systems, Fifth Edition by Tanenbaum and Bos
The textbook by Andrew Tanenbaum is the other standard, and its fifth edition is the most recent new edition of the big general-purpose OS textbooks. Pearson published it in late 2022 with more on flash storage and SSDs and updated security coverage, plus case studies on Unix, Linux and Android and a new Windows 11 chapter.

One buying detail saves you money. In the US, the Pearson print copy of the fifth edition is rental only, at $89.99 direct from Pearson, and on Amazon it showed only a used copy at about $250, while the older fourth edition still sells new for more than $200. The Global Edition paperback linked below carries the same fifth edition content, although end-of-chapter problems can differ from the US printing, and it costs about $57 to keep. Tanenbaum writes with more opinion than most textbook authors, which keeps a long book readable.
Good fit: students and engineers who want current material on storage, security and virtualization in one volume. Watch out for the fourth edition from 2014, which still appears high in search results. Check the cover says Fifth Edition. About $57.
4. Operating Systems: Principles and Practice by Anderson and Dahlin
Thomas Anderson and Michael Dahlin wrote this for a first OS course, and its strongest part is concurrency. Instead of presenting locks and semaphores as a list of primitives, it builds them up from what the hardware actually provides, down to how a context switch saves and restores state.

The book is split into four parts: kernels and processes, concurrency, memory management and persistent storage. The second edition dates from 2014, so it says little about containers or modern SSD behavior, but the mechanisms it explains haven’t changed. If threads and race conditions are what confuse you, this is the book that explains why each synchronization rule exists.
Worth it for: anyone who wants a rigorous treatment of synchronization. Less suited to readers who need current platform detail. Around $61.
5. Computer Systems: A Programmer’s Perspective, Third Edition by Bryant and O’Hallaron
Strictly speaking this isn’t an operating systems book. It is the systems book many programmers read before one, and it explains the OS from the side of the code you write: linking, exceptional control flow, processes and signals, virtual memory, system I/O and concurrency.

It grew out of the Carnegie Mellon introductory systems course and comes with well-known hands-on labs, listed on the book site. Reading the virtual memory and process chapters first makes any of the OS textbooks above much easier, because you already know what the kernel is doing on behalf of your program. If the hardware chapters on caches and the memory hierarchy are the part that hooks you, our pick of computer architecture books goes further below the OS.
Read it first if you program in C and want the OS to stop being a black box. The catch: the hardcover sells for about $190 and showed a shipping delay on Amazon when checked, so order early or use a library copy.
6. How Linux Works, Third Edition by Brian Ward
This one is for the reader who wants OS concepts attached to a real system. Brian Ward follows a Linux machine from the boot loader through the kernel and systemd to devices, processes, file systems and networking, explaining each layer in terms of the commands you can run to see it.
The third edition added LVM, virtualization and containers. It does not teach scheduling theory or page replacement algorithms, so it complements a textbook rather than replacing one. Readers who want a wider Linux reading list can continue with our Linux books guide.
Ideal for: sysadmins, DevOps engineers and Linux users who want to know why the system behaves as it does. Pass on it if you need exam-style OS theory. About $47.
7. System Programming in Linux by Stewart N. Weiss
Published by No Starch Press in October 2025, this is the newest book on the list and the most hands-on route to the system call interface. Stewart Weiss based it on the course he teaches at Hunter College, and each chapter builds working programs around processes, signals, interprocess communication, threads and non-blocking I/O.
The mechanism this book teaches is the boundary between your program and the kernel: what happens when you call fork, how a signal interrupts you, and why a pipe blocks. The C you write in its exercises is the same C the OS textbooks describe in the abstract. For a reference to keep beside it, The Linux Programming Interface by Michael Kerrisk is still the definitive system call book, although its only edition dates from 2010.
Best for: programmers who learn by writing code. Skip it if C is new to you; start with a book from our C and C++ guide first. Around $71.
8. Linux Kernel Programming, Second Edition by Kaiwan N. Billimoria
Once the concepts make sense, this is the book that puts you inside a real kernel. The second edition, published by Packt in 2024, is built on the 6.1 long-term support kernel and covers building the kernel from source, writing loadable modules, kernel memory allocation, the scheduler with cgroups v2, and locking, including spinlocks and RCU.
This replaces Linux Kernel Development by Robert Love, which many older lists still recommend. That book is well written but dates from 2010 and describes the 2.6 kernel, and enough has changed since then that a newcomer will be confused by it. The code repository for the second edition is public. Readers interested in observing a running kernel rather than modifying it should also see our eBPF books guide.
Ready for it when you have finished a concepts book and can write C comfortably. Too early if you are still learning what a process is. About $36.
Free operating systems books worth reading
You can learn a great deal without spending anything. These three are free from their authors:
- Operating Systems: Three Easy Pieces, the full text of pick 1, chapter by chapter as PDFs.
- The xv6 book from MIT, which explains a small Unix-like teaching OS for RISC-V chapter by chapter, alongside its source code. It is the text behind the MIT 6.1810 labs, where you add system calls, page table features and copy-on-write fork to a working kernel.
- Think OS by Allen Downey, a short introduction for programmers. It is still marked as a draft and some figures are missing, so treat it as a primer rather than a course text.
Older editions and classics to leave on the shelf
- Modern Operating Systems, fourth edition (2014). Superseded by the fifth, yet still listed new at a higher price than the fifth edition Global paperback.
- Operating System Concepts, ninth edition. Replaced by the tenth edition from 2018, which is the edition courses now cite.
- Linux Kernel Development, third edition (2010). Covers the 2.6 kernel. Read Linux Kernel Programming instead.
- Understanding the Linux Kernel, third edition (2005). A classic for the 2.6.11 era, and not shipping on Amazon when checked.
- Operating Systems: Internals and Design Principles by Stallings, ninth edition (2017). Still current from Pearson, but it predates Windows 11 and costs more than $180 new, so the Tanenbaum Global Edition is the better buy.
- The Design of the UNIX Operating System by Maurice Bach (1986). Historically important, and worth reading for Unix history, but not as a first book today.
Common misconceptions about learning operating systems
You need to read a textbook cover to cover. The big textbooks are references as much as courses. Most self-learners get further by reading Three Easy Pieces end to end and dipping into Silberschatz or Tanenbaum for topics it treats lightly, such as security or Windows.
A Linux administration book teaches OS theory. It teaches how one OS is put together, which is valuable, but it will not explain why one page replacement policy beats another. Pair How Linux Works with a concepts book rather than treating it as one.
Kernel programming is the place to start. Writing a module before you understand virtual memory and synchronization means copying code you cannot debug. The order that works is concepts, then system programming, then the kernel, which is the order of picks 1, 7 and 8.
An older edition is close enough. For the core algorithms it often is, but storage, security and virtualization chapters age quickly, and the price gap now favors the current editions anyway. If you want more books across the rest of computer science, our programming books guide covers the next step.


