Operating Systems: A Modern Perspective brings a balanced approach to the study of operating systems by combining a careful examination of theoretical issues with real-world, hands-on problems and examples. Throughout the text, discussions of theory are enhanced with detailed code and algorithmic examples to allow students to see the theory as it has been implemented in modern operating systems.
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.