
- 576 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
About this book
Lauded for avoiding the typical vague, high-level survey approach found in many texts, earlier editions of this bestselling book removed the mystery by explaining the internal structure of an operating system in clear, readable prose. The third edition of Operating System Design: The Xinu Approach expands and extends the text to include new chapters on a pipe mechanism, multicore operating systems, and considerations of operating systems being used in unexpected ways.
The text covers all major operating system components, including the key topics of scheduling and context switching, physical and virtual memory management, file systems, device drivers, device-independent I/O, Internet communication, and user interfaces. More important, the book follows a logical architecture that places each component in a multi-level hierarchy. It simplifies learning about operating systems by allowing a reader to understand one level at a time without needing forward references. It starts with a bare machine and builds the system level by level. In the end, a reader will appreciate how all the components of an operating system work together to form a unified, integrated platform that allows arbitrary application programs to run concurrently.
The text uses a small, elegant system named Xinu as an example to illustrate the concepts and principles and make the discussion concrete. Because an operating system must deal with the underlying hardware, the text shows examples for the two basic computer architectural approaches used in the computer industry: CISC and RISC. Readers will see that most of the code remains identical across the two architectures, and they can easily compare the differences among the machine-dependent pieces, such as hardware initialization code, device interface code, and context switch code.
Xinu code is freely available, and readers are strongly encouraged to download the system and experiment by making modifications or extensions. The Xinu web page, https://xinu.cs.purdue.edu, contains links to the code from the book as well as instructions on how to run Xinu on experimenter hardware boards. The page also provides links to a version that runs on the (free) VirtualBox hypervisor. A reader can install VirtualBox on their laptop or desktop, and then run Xinu without the need for additional hardware.
Companion resources found here: https://www.cs.purdue.edu/homes/comer/downloads/private/Xinu_Book_Slides
Frequently asked questions
- Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
- Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Information
Table of contents
- Cover Page
- Half-Title Page
- Title Page
- Copyright Page
- Dedication Page
- Contents
- Preface
- About the Author
- 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 System
- 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 A Pipe Mechanism
- Chapter 27 An Example User Interface: The Xinu Shell
- Chapter 28 Multicore Systems
- Chapter 29 Operating Systems Everywhere
- Index