presenting core operating system concepts illustrated with real-world examples that provide a practical perspective on the material. This book features a complete discussion of operating system principles, supplemented with code, algorithms, implementation issues, and lab exercises to provide a comprehensive understanding of contemporary operating system practice. Features *Discusses the basic principles behind the design of all operating systems * In the Hangar examples show how the principles are applied in practice using Linux/UNIX and the Windows NT operating systems * Performance Tuning discussions explain how system designers have exploited the basic principles to achieve higher performance * Lab Exercises allow students to gain hands-on experience with the details of how to use Linux/UNIX
Undergraduate OS textbooks vary in style from those that focus on a detailed discussion of a single OS to those that provide descriptions of concepts and issues for any OS. OS textbook styles also vary from conversational discussions to detailed discussions of meaty content on the details of an OS. Traditionally, books with meaty content are either very theoretical or mathematical, or address only a single OS; conversely, books that are easy to read tend to be so due to lack of content. Contemporary operating systems are very complex software. A book that lacks content fails to convey the requisite understanding to cope with actual operating systems; a book that focuses on only one OS does not provide the proper perspective on the discipline.
This book was written 6 years after writing a dense and formal book on OS concepts. It preserves the deep concepts, but pushes the formal treatment into later chapters (and even then, it is simplified over the earlier material). The student begins with informal explanations for the initial concepts, then gradually works up to subject matter that is described in more formal and precise terms.
The second edition of the book* also includes an extensive set of exercises for UNIX systems as well as extended discussions and examples from Windows NT, Mach, and other research OSes. This approach was taken to balance the conceptual material with concrete exercises to apply the concepts to UNIX. There are also complementary lab manuals for Windows NT exercises and Linux kernel exercises, if the student wishes to perform more in-depth experiments.
This material is reaching maturity; it has been reviewed by many professional reviewers, used by many instructors and many students. Most "errors" that remain in the code examples are due to misinterpretation of pseudo code rather than faulty algorithms.
------------ * Note: All comments dated before January 2000 refer to the first edition of the book.