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
Chapter 1 Introduction And Overview
Chapter 2 Concurrent Execution And Operating System Services
Chapter 3 An Overview Of The Hardware And Runtime Environment
Chapter 4 List And Queue Manipulation
Chapter 5 Scheduling And Context Switching
Chapter 6 More Process Management
Chapter 7 Coordination Of Concurrent Processes
Chapter 8 Message Passing
Chapter 9 Basic Memory Management
Chapter 10 High- level Memory Management and Virtual Memory
Chapter 11 High- level Message Passing
Chapter 12 Interrupt Processing
Chapter 13 Real- time Clock Management
Chapter 14 Device– independent Input And Output
Chapter 15 An Example Device Driver
Chapter 16 DMA Devices And Drivers ( Ethernet)
Chapter 17 A Minimal Internet Protocol Stack
Chapter 18 A Remote Disk Driver
Chapter 19 File Systems
Chapter 20 A Remote File Mechanism
Chapter 21 A Syntactic Namespace
Chapter 22 System Initialization
Chapter 23 Subsystem Initialization And Memory Marking
Chapter 24 Exception Handling
Chapter 25 System Configuration
Chapter 26 An Example User Interface: The Xinu Shell