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.
To gain access to the instructor resources for this title, please visit the Instructor Resources Download Hub.
You will be prompted to fill out a regist