Название: Operating System Design: The Xinu Approach, 3rd Edition Автор: Douglas Comer Издательство: CRC Press Год: 2025 Страниц: 547 Язык: английский Формат: epub (true) Размер: 10.1 MB
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.
Examples in the book are taken from the Xinu† operating system. Xinu is a small, elegant system that is intended for use in an embedded environment, such as a cell phone or an MP3 player. Typically, Xinu is loaded into memory along with a fixed set of applications when the system boots. Of course, if memory is constrained or the hardware architecture uses a separate memory for instructions, Xinu can be executed from Flash or other read-only memory. In a typical system, however, executing from main memory produces higher performance. The name stands for "Xinu Is Not Unix". As we will see, the internal structure of Xinu differs completely from the internal structure of Unix (or Linux). Xinu is smaller, more elegant, and easier to understand.
Xinu is not a toy; it is a powerful operating system that has been used in commercial products. For example, Woodward Corporation uses Xinu to control large gas/steam and diesel/steam turbine engines, Lexmark Corporation used Xinu as the operating system in its printers, and Xinu was used in pinball games sold under the Williams/Bally brand. NASA used a commercial embedded system based on Xinu in space probes sent to Mars. Perhaps the best endorsement for learning Xinu came from a former student who went to work for Microsoft after graduation and wrote that lessons learned writing Xinu code applied directly to writing code in Windows.
Xinu contains the fundamental components of an operating system, including: process, memory, and timer management mechanisms, interprocess communication facilities, device-independent I/O functions, and Internet protocol software. Xinu can control I/O devices and perform chores such as reading keystrokes from a keyboard or keypad, displaying characters on an output device, managing multiple, simultaneous computations, controlling timers, passing messages between computations, and allowing applications to access the Internet.
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 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.
Contents:
Preface About the Author 1. Introduction And Overview 2. Concurrent Execution And Operating System Services 3. An Overview Of The Hardware And Runtime Environment 4. List And Queue Manipulation 5. Scheduling And Context Switching 6. More Process Management 7. Coordination Of Concurrent Processes 8. Message Passing 9. Basic Memory Management 10. High-level Memory Management and Virtual Memory 11. High-level Message Passing 12. Interrupt Processing 13. Real-time Clock Management 14. Device–independent Input And Output 15. An Example Device Driver 16. DMA Devices And Drivers (Ethernet) 17. A Minimal Internet Protocol Stack 18. A Remote Disk Driver 19. File Systems 20. A Remote File System 21. A Syntactic Namespace 22. System Initialization 23. Subsystem Initialization And Memory Marking 24. Exception Handling 25. System Configuration 26. A Pipe Mechanism 27. An Example User Interface: The Xinu Shell 28. Multicore Systems 29. Operating Systems Everywhere Index
Скачать Operating System Design: The Xinu Approach, 3rd Edition
|