An Update of the Most Practical A-to-Z Operating System Book
Widely lauded for avoiding the typical black box approach found in other operating system textbooks, the first edition of this bestselling book taught readers how an operating system works and explained how to build it from the ground up.
Continuing to follow a logical pattern for system design, Operating System Design: The Xinu Approach, Second Edition removes the mystery from operating system design and consolidates the body of material into a systematic discipline. It presents a hierarchical design paradigm that organizes major operating system components in an orderly, understandable manner.
The book guides readers through the construction of a conventional process-based operating system using practical, straightforward primitives. It gives the implementation details of one set of primitives, usually the most popular set. Once readers understand how primitives can be implemented on conventional hardware, they can then easily implement alternative versions.
The text begins with a bare machine and proceeds step-by-step through the design and implementation of Xinu, which is a small, elegant operating system that supports dynamic process creation, dynamic memory allocation, network communication, local and remote file systems, a shell, and device-independent I/O functions. The Xinu code runs on many hardware platforms. This second edition has been completely rewritten to contrast operating systems for RISC and CISC processors. Encouraging hands-on experimentation, the book provides updated code throughout and examples for two low-cost experimenter boards: BeagleBone Black from ARM and Galileo from Intel.
Table of Contents
Introduction and Overview. Concurrent Execution and Operating System Services. An Overview of the Hardware and Runtime Environment. List and Queue Manipulation. Scheduling and Context Switching. More Process Management. Coordination of Concurrent Processes. Message Passing. Basic Memory Management. High-Level Memory Management and Virtual Memory. High-Level Message Passing. Interrupt Processing. Real-Time Clock Management. Device-Independent Input and Output. An Example Device Driver. DMA Devices And Drivers (Ethernet). A Minimal Internet Protocol Stack. A Remote Disk Driver. File Systems. A Remote File Mechanism. A Syntactic Namespace. System Initialization. Subsystem Initialization and Memory Marking. Exception Handling. System Configuration. An Example User Interface: The Xinu Shell. Appendices. Index.
"What sets this book aside from the mass of books on operating systems is its focus on a single real-world operating systems, namely Xinu, which is a commercially used, yet lean, clearly designed, modular operating system for embedded, single-core systems. … The book is surprisingly easy to read; essential data structures and algorithms are presented in source code and discussed adequately, allowing for a very good understanding of the entire operating system. … an ideal book for anyone who aims to understand one operating system in detail, in particular for those working with embedded systems."
—Zentralblatt MATH 1314
Praise for the First Edition:
"Operating System Design: The Xinu Approach is the best book for students and professionals to learn how a computer operating system works. The computer code, along with clear, concise explanations, is simply the best way to learn OS. Readers who study this book carefully will benefit greatly and find it time well spent."
—John C. Lin, Bell Labs
"… [the author’s] focused, clear, and thorough writing have given ‘systematic’ a new meaning (or perhaps restored its original one). … non-OS specialists also stand to learn much of what they generally need to know from this excellent book. Furthermore, it is no faint praise for me to say that the book’s seamless integration of source code listings into the text … is the best I’ve encountered and works very well indeed. Superior and consistently followed C-language coding conventions give further evidence of the meticulousness with which this book was written. … a most outstanding and practical A-to-Z OS book. It has my highest recommendation."
—George Hacken, Computing Reviews, April 2012
"This Xinu book is the best operating systems book on the market because it removes the black magic and explains how to build an OS from the ground up. It’s not like other books I tried to read — they gave m