OS Notes
Curated list of the best Operating Systems textbooks and references — from foundational theory to practical Linux internals, suitable for university courses, GATE preparation, and self-study.
Introduction
Choosing the right textbook can make or break your understanding of Operating Systems. A good OS book does not just list concepts — it explains the reasoning behind design decisions, provides concrete examples from real systems, and gives you problems that test genuine understanding. Below is a curated list of books organized by purpose: foundational learning, advanced topics, practical skills, and exam preparation.
Primary Textbooks
1. Operating System Concepts — Silberschatz, Galvin, Gagne
Often called the "Dinosaur Book" because of its cover illustrations, this is the most widely used OS textbook worldwide. It covers all standard topics in a clear, structured manner.
Why read it:
- Follows the exact syllabus of most university OS courses
- Excellent diagrams explaining process states, memory layouts, and scheduling
- End-of-chapter exercises range from basic recall to complex design problems
- Updated editions include modern topics like Android internals and cloud OS
Best for: University coursework, first-time learners, exam preparation
Key chapters to focus on: Process Management (Ch 3-5), Synchronization (Ch 6-7), Deadlocks (Ch 8), Memory Management (Ch 9-10), File Systems (Ch 13-15)
2. Modern Operating Systems — Andrew S. Tanenbaum
Tanenbaum writes with clarity and wit that makes complex topics accessible. This book goes deeper into design philosophy and includes extensive coverage of real operating systems.
Why read it:
- Explains not just how things work, but WHY they were designed that way
- Extensive case studies of UNIX, Linux, and Windows internals
- Covers security and multimedia OS concepts better than most alternatives
- Written by the creator of MINIX (which inspired Linux)
Best for: Students who want conceptual depth, those interested in OS design
Notable strength: The sections on microkernels, distributed systems, and system security are particularly outstanding.
3. Operating Systems: Internals and Design Principles — William Stallings
Stallings takes a comparative approach, showing how different operating systems solve the same problems differently.
Why read it:
- Strong emphasis on comparing Unix, Linux, Windows, and Solaris implementations
- Excellent coverage of concurrency and mutual exclusion
- Includes queuing analysis for performance evaluation
- Each chapter begins with learning objectives and ends with review questions
Best for: Students who learn by comparison, those preparing for technical interviews
Advanced and Specialized Books
4. Linux Kernel Development — Robert Love
Once you understand OS theory, this book shows you how Linux actually implements those concepts in production code.
Why read it:
- Written by an actual Linux kernel developer
- Explains kernel data structures, process scheduling (CFS), memory management
- Covers system calls, interrupts, and synchronization primitives in real code
- Readable without requiring you to parse raw kernel source
Best for: Students transitioning from theory to practice, aspiring systems programmers
5. Understanding the Linux Kernel — Daniel Bovet, Marco Cesati
More detailed than Love's book, this goes function-by-function through Linux kernel internals.
Why read it:
- Extremely detailed coverage of Linux 2.6 kernel mechanisms
- Shows actual kernel code with annotations
- Deep dive into process scheduling, memory management, and VFS
Best for: Those doing kernel development or research
6. The Design of the UNIX Operating System — Maurice Bach
A classic that explains the original UNIX design philosophy. Though older, the fundamental concepts remain relevant.
Why read it:
- Explains the elegance of UNIX design ("everything is a file")
- Buffer cache, inode structures, and process management explained from first principles
- Helps you appreciate why Linux and macOS work the way they do
Best for: Understanding foundational OS design, historical perspective
Exam Preparation Books
7. Operating Systems: A Concept-Based Approach — D.M. Dhamdhere
Popular in Indian universities, this book covers the syllabus thoroughly with numerous solved examples.
Why read it:
- Aligned with Indian university syllabi (BCA, B.Tech, MCA)
- Plenty of solved numerical problems
- Good coverage of Banker's algorithm, disk scheduling calculations
- Practice problems similar to exam questions
Best for: BCA/B.Tech students preparing for semester exams
8. GATE Computer Science — Previous Year Questions (Kanodia/Made Easy)
For competitive exam preparation, practicing previous GATE questions on OS is essential.
Focus areas for GATE OS:
- CPU scheduling numericals (calculate average waiting time, turnaround time)
- Page replacement algorithm problems (find page fault count)
- Disk scheduling calculations (total seek time)
- Deadlock detection using resource allocation graphs
- Synchronization problems (semaphore-based solutions)
Practical and Project-Oriented Books
9. Operating Systems: Three Easy Pieces — Remzi and Andrea Arpaci-Dusseau
Available free online (ostep.org), this book teaches OS concepts through a conversational, question-driven style.
Why read it:
- Free and legally available online
- Breaks OS into three parts: Virtualization, Concurrency, Persistence
- Each chapter is short and focused (10-15 pages)
- Includes homework assignments with simulation-based exercises
- Excellent for self-learners
Best for: Self-study, supplementary reading, anyone who finds traditional textbooks dry
10. xv6: A Simple Unix-like Teaching Operating System — MIT
Not a traditional book, but MIT's xv6 documentation and source code is the best way to understand a complete OS implementation.
Why read it:
- Complete working OS in about 10,000 lines of C
- Implements processes, virtual memory, file system, and shell
- Well-commented source code that maps directly to textbook concepts
- Used in MIT 6.828 (one of the best OS courses globally)
Best for: Students working on OS projects, those who learn by reading code
How to Use These Books Effectively
| Stage | Primary Book | Supplement With |
|---|---|---|
| First reading | Silberschatz (Galvin) | Three Easy Pieces (free) |
| Deep understanding | Tanenbaum | Linux Kernel Development |
| Exam preparation | Dhamdhere + Galvin | Previous year questions |
| Practical projects | xv6 documentation | Love's Linux Kernel Dev |
| Interview prep | Stallings | Online problem sets |
Study Strategy
- Read theory first from Galvin or Tanenbaum — understand the concepts
- Solve numerical problems — scheduling, paging, disk calculations
- Write code — implement algorithms in C (scheduling simulators, page replacement)
- Read real OS code — look at xv6 or Linux source for concrete understanding
- Practice interview questions — explain concepts verbally in 2-3 minutes
Final Advice
No single book covers everything perfectly. Use Galvin as your primary reference, supplement with Tanenbaum for design insight, and practice with Three Easy Pieces for homework problems. For Indian university exams specifically, Dhamdhere provides the most exam-aligned coverage. Most importantly, combine reading with hands-on practice — OS is a subject where writing code solidifies understanding far more than passive reading.
Exam Focus
Revise definitions, diagrams, examples, and short-answer points for Recommended Books — Operating Systems.
Interview Use
Prepare one clear explanation, one practical example, and one common mistake for this Operating Systems topic.
Search Terms
operating-systems, operating systems, operating, systems, resources, recommended, books, recommended books — operating systems
Related Operating Systems Topics