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.
Explains how each operating system abstraction can be built and shows how the abstractions can be organized into an elegant, efficient design Considers each level of the system individually, beginning with the raw hardware and ending with a working operating system Covers every part of the system, so a reader will see how an entire system fits together, not merely how one or two parts interact Provides source code for all pieces described in the text, leaving no mystery about any part of the implementation — a reader can obtain a copy of the system to examine, modify, instrument, measure, extend, or transport to another architecture Demonstrates how each piece of an operating system fits into the design, in order to prepare the reader to understand alternative design choices
Beginning with the underlying machine and proceeding step by step through the design and implementation of an actual system, Operating System Design: The Xinu Approach, Linksys Version guides readers through the construction of a traditional process-based operating system using practical, straightforward primitives. It reviews the major system components and imposes a hierarchical design paradigm that organizes the components in an orderly and understandable manner.
All of the code in the book is designed to run on the Linksys router, because it is small, inexpensive, and easily accessible to students. Software and instructions for building a lab that allows students to experiment are available on the author’s website: www.xinu.cs.purdue.edu