Home > Store

Operating Systems: Internals and Design Principles, 4th Edition

Register your product to gain access to bonus material or receive a coupon.

Operating Systems: Internals and Design Principles, 4th Edition


  • Sorry, this book is no longer in print.
Not for Sale



  • NEW - Updated technical content.
    • Reflects ongoing changes in the field in areas such as thread and process management, concurrency and deadlocks, virtual memory, scheduling, I/O, file systems, distributed processing, and security. Ex.___

  • NEW - Linux now included as one of the example systems.
    • Illustrates and reinforces design concepts with a modern operating system that is growing in popularity. Ex.___

  • NEW - Additional problems.
    • Provide more opportunity for students to practice the concepts they learn in each chapter. Ex.___

  • Running case studies of Windows 2000 and various flavors of UNIX (UNIX SVR4, Solaris, and Linux)—The discussion of these contemporary, relevant, and representative example systems is distributed throughout the text.
    • Illustrate and reinforce design concepts and ties them to real-world design choices that must be made. The new Windows 2000 operating system incorporates in a clean fashion many of the latest developments in operating system technology and it is one of the first important commercial operating systems to rely heavily on object-oriented design principles. The different flavors of UNIX presented allow students to learn the most widely used commercial version of UNIX that includes multithreading and other features not found in SVR4 (Solaris) and an open-source version of UNIX that is rapidly gaining in popularity (Linux). Ex.___

  • Unparalleled support for projects—The Appendices contain detailed information and guidance on the use of three software packages that can be used as frameworks for modeling and simulation projects: NACHOS, BACI, and OSP. The Instructor's Manual includes guidance on how to assign and structure such projects, and additional suggestions for assigning programming projects, research projects, and reading/report assignments.
    • Helps instructors supplement the course with research or modeling projects that give students hands-on experience, reinforcing concepts and helping to develop a broader perspective. Ex.___

  • Detailed treatment of threads and multithreading—One of the most important new developments in operating systems.
    • Helps students understand the relationship between process and thread and the way in which threads are managed and used. Ex.___

  • Comprenhensive treatment of scheduling—Includes recent developments in scheduling theory and design including the areas of multiprocessor scheduling and a unique discussion of real-time scheduling.
    • Helps students understand these topics which are especially important in multimedia applications and networking. Ex.___

  • Comprehensive, unified treatment of I/O—Unusually broad and thorough.
    • Teaches students about this critical part of all operating systems. Ex.___

  • Broad coverage of distributed operating systems—Covers process migration, process communication, mutual exclusion, and deadlock.
    • Introduces students to the most important current research and development area in operating systems design. Ex.___

  • Broad coverage of OS security—Covers trusted systems, distributed security, and viruses.
    • Exposes students to this increasingly important area. Ex.___

  • Solid treatment of concurrency.
    • Provides students with an extremely clear and systematic treatment of this central aspect of operating systems design. Ex.___

  • Symmetric multiprocessing (SMP)—Features an entire section on SMP design, a detailed section on SMP scheduling, and a discussion of the relationship between SMP and multithreading.
    • Exposes students to this very important topic. Virtually all servers and many workstations and PCs have an SMP architecture that requires operating system support. Ex.___

  • Detailed discussion of operating system support for clusters—The “hot area” of distributed processing.
    • Provides students with current information in this area where there is a lot of current research and a flood of new products. Ex.___

  • Extensive coverage of Microkernels.
    • Teaches students about this increasingly important design element in OS design. Ex.___

  • More than 150 homework problems—Ranging in levels of difficulty.
    • Provide a variety of assignments for students to complete. Ex.___

  • Review questions.
    • Assures that students have read and absorbed the material from each chapter. Ex.___

  • List of key words for each chapter.
    • Helps students review important technical terms. Ex.___

  • Liberal use of figures (300) and tables (85).
    • Clarifies concepts. Ex.___

  • Recommended reading list at the end of each chapter and up-to-date bibliography at the end of the text.
    • Provide up-to-date and reputable sources for further exploration or research. Ex.___

  • Glossary at the end of the book and list of acronyms on the back endpaper.
    • Help students master key terminology. Ex.___


  • Copyright 2001
  • Dimensions: 7" x 9-1/4"
  • Pages: 779
  • Edition: 4th
  • Book
  • ISBN-10: 0-13-031999-6
  • ISBN-13: 978-0-13-031999-9

Blending up-to-date theory with state-of-the-art applications, this book offers a comprehensive treatment of operating systems, with an emphasis on internals and design issues. It helps readers develop a solid understanding of the key structures and mechanisms of operating systems, the types of trade-offs and decisions involved in OS design, and the context within which the operating system functions (hardware, other system programs, application programs, interactive users). KEY TOPICS: Process Description And Control. Threads, SMP, And Microkernels. Concurrency: Mutual Exclusion And Synchronization. Concurrency: Deadlock And Starvation. Memory Management. Virtual Memory. Uniprocessor Scheduling. Multiprocessor And Real-Time Scheduling. I/O Management And Disk Scheduling. File Management. Distributed Processing, Client/Server, And Clusters. Distributed Process Management. Security. MARKET: For product development personnel (Programmers, Systems Engineers, Network Designers, and others involved in the design of data communications and networking products), Product marketing personnel, and Information system and computer system personnel.

Sample Content

Table of Contents

(NOTE: Each chapter concludes with Summary, Key Terms, Review Questions and/or Recommended Reading, and Problems.)

Reader's Guide.

Outline of the Book. Topic Ordering. Internet and Web Resources.


1. Computer System Overview.

Basic Elements. Processor Registers. Instruction Execution. Interrupts. The Memory Hierarchy. Cache Memory. I/O Communication Techniques. Appendix 1A: Performance Characteristics of Two-Level Memory. Appendix 1B: Procedure Control.

2. Operating System Overview.

Operating System Objectives and Functions. The Evolution of Operating Systems. Major Achievements. Characteristics of Modern Operating Systems. Windows 2000 Overview. Traditional UNIX Systems. Modern UNIX Systems.


3. Process Description and Control.

Process States. Process Description. Process Control. UNIX SVR4 Process Management.

4. Threads, SMP, and Microkernels.

Processes and Threads. Symmetric Multiprocessing. Microkernels. Windows 2000 Thread and SMP Management. Solaris Thread and SMP Management. Linux Process and Thread Management.

5. Concurrency: Mutual Exclusion and Synchronization.

Principles of Concurrency. Mutual Exclusion: Software Approaches. Mutual Exclusion: Hardware Support. Semaphores. Monitors. Message Passing. Readers/Writers Problem.

6. Concurrency: Deadlock and Starvation.

Principles of Deadlock. Deadlock Prevention. Deadlock Avoidance. Deadlock Detection. An Integrated Deadlock Strategy. Dining Philosophers Problem. UNIX Concurrency Mechanisms. Solaris Thread Synchronization Primitives. Windows 2000 Concurrency Mechanisms.


7. Memory Management.

Memory Management Requirements. Memory Partitioning. Paging. Segmentation. Appendix 7A: Loading and Linking.

8. Virtual Memory.

Hardware and Control Structures. Operating System Software. UNIX and Solaris Memory Management. Linux Memory Management. Windows 2000 Memory Management. Appendix 8A: Hash Tables.


9. Uniprocessor Scheduling.

Types of Scheduling. Scheduling Algorithms. Traditional UNIX Scheduling. Appendix 9A: Response Time. Appendix 9B: Queuing Systems.

10. Multiprocessor and Real-Time Scheduling.

Multiprocessor Scheduling. Real-Time Scheduling. Linux Scheduling. UNIX SVR4 Scheduling. Windows 2000 Scheduling.


11. I/O Management and Disk Scheduling.

I/O Devices. Organization of the I/O Function. Operating System Design Issues. I/O Buffering. Disk Scheduling. RAID. Disk Cache. UNIX SVR4 I/O. Windows 2000 I/O. Appendix 11A: Disk Storage Devices.

12. File Management.

Overview. File Organization. File Directories. File Sharing. Record Blocking. Secondary Storage Management. UNIX File Management. Windows 2000 File System.


13. Distributed Processing, Client/Server, and Clusters.

Client/Server Computing. Distributed Message Passing. Remote Procedure Calls. Clusters. Windows 2000 Cluster Server. Sun Cluster. Beowulf and Linux Clusters.

14. Distributed Process Management.

Process Migration. Distributed Global States. Distributed Mutual Exclusion. Distributed Deadlock.


15. Computer Security.

Security Threats. Protection. Intruders. Malicious Software. Trusted Systems. Windows 2000 Security. Appendix 15A: Encryption.


Appendix A: TCP/IP.

The Need for a Protocol Architecture. The TCP/IP Protocol Architecture.

Appendix B: Object-Oriented Design.

Motivation. Object-Oriented Concepts. Benefits of Object-Oriented Design. CORBA.

Appendix C: Programming and Operating System Projects.

Projects for Teaching Operating Systems. Nachos. Research Projects. Programming Projects. Reading/Report Assignments.

Appendix D: OSP: An Environment for Operating System Projects.

Overview. Innovative Aspects of OSP. Comparison with Other Operating System Courseware. The OSP Software Distribution. OSP Mailing List. Future Plans.

Appendix E: BACI: The Ben-Ari Concurrent Programming System.

Introduction. BACI. Examples of BACI Programs. BACI Projects. Enhancements to the BACI System.



Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership