Operating Systems Internals and Design Principles

  • ISBN13:


  • ISBN10:


  • Edition: 9th
  • Format: Paperback
  • Copyright: 2017-03-13
  • Publisher: Pearson

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping On Orders Over $59!
    Your order must be $59 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • Get Rewarded for Ordering Your Textbooks! Enroll Now
  • We Buy This Book Back!
    In-Store Credit: $80.64
    Check/Direct Deposit: $76.80
List Price: $198.80 Save up to $129.22
  • Rent Book $69.58
    Add to Cart Free Shipping


Supplemental Materials

What is included with this book?

  • The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
  • The Rental copy of this book is not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.


For one- or two-semester undergraduate courses in operating systems for computer science, computer engineering, and electrical engineering majors


An introduction to operating systems with up-to-date and comprehensive coverage

Now in its 9th Edition, Operating Systems: Internals and Design Principles provides a comprehensive, unified introduction to operating systems topics for readers studying computer science, computer engineering, and electrical engineering. Author William Stallings emphasizes both design issues and fundamental principles in contemporary systems, while providing readers with a solid understanding of the key structures and mechanisms of operating systems. He discusses design trade-offs and the practical decisions affecting design, performance and security. The text illustrates and reinforces design concepts, tying them to real-world design choices with case studies in Linux, UNIX, Android, and Windows 10.

With an unparalleled degree of support for project integration, plus comprehensive coverage of the latest trends and developments in operating systems, including cloud computing and the Internet of Things (IoT), the text provides everything readers need to keep pace with a complex and rapidly changing field. The 9th Edition has been extensively revised and contains new material, new projects, and updated chapters. 

Author Biography

Dr. William Stallings has authored 18 titles, and including the revised editions, over 40 books on computer security, computer networking, and computer architecture. His writings have appeared in numerous publications, including the Proceedings of the IEEE, ACM Computing Reviews and Cryptologia. He has received the Best Computer Science textbook of the Year award 13 times from the Text and Academic Authors Association.


In over 30 years in the field, he has been a technical contributor, technical manager, and an executive with several high-technology firms. He has designed and implemented both TCP/IP-based and OSI-based protocol suites on a variety of computers and operating systems, ranging from microcomputers to mainframes. As a consultant, he has advised government agencies, computer and software vendors, and major users on the design, selection, and use of networking software and products.

He created and maintains the Computer Science Student Resource Site at ComputerScienceStudent.com. This site provides documents and links on a variety of subjects of general interest to computer science students (and professionals). He is a member of the editorial board of Cryptologia, a scholarly journal devoted to all aspects of cryptology. Dr. Stallings holds a Ph.D. from M.I.T. in Computer Science and a B.S. from Notre Dame in electrical engineering.

Table of Contents

Online Chapters and Appendices



About the Author


I. Background


1. Computer System Overview


1.1. Basic Elements

1.2. Evolution of the Microprocessor

1.3. Instruction Execution

1.4. Interrupts

1.5. The Memory Hierarchy

1.6. Cache Memory

1.7. Direct Memory Access

1.8. Multiprocessor and Multicore Organization

1.9. Key Terms, Review Questions, and Problems

1A. Performance Characteristics of Two-Level Memories


2. Operating System Overview


2.1. Operating System Objectives and Functions

2.2. The Evolution of Operating Systems

2.3. Major Achievements

2.4. Developments Leading to Modern Operating Systems

2.5. Fault Tolerance

2.6. Os Design Considerations for Multiprocessor and Multicore

2.7. Microsoft Windows Overview

2.8. Traditional Unix Systems

2.9. Modern Unix Systems

2.10. Linux

2.11. Android

2.12. Key Terms, Review Questions, and Problems


II. Processes


3. Process Description and Control


3.1. What is a Process?

3.2. Process States

3.3. Process Description

3.4. Process Control

3.5. Execution of the Operating System

3.6. Unix Svr4 Process Management

3.7. Summary

3.8. Key Terms, Review Questions, and Problems


4. Threads


4.1. Processes and Threads

4.2. Types of Threads

4.3. Multicore and Multithreading

4.4. Windows Process and Thread Management

4.5. Solaris Thread and Smp Management

4.6. Linux Process and Thread Management

4.7. Android Process and Thread Management

4.8. Mac OS X Grand Central Dispatch

4.9. Summary

4.10. Key Terms, Review Questions, and Problems


5. Concurrency: Mutual Exclusion and Synchronization


5.1. Mutual Exclusion: Software Approaches

5.2. Principles of Concurrency

5.3. Mutual Exclusion: Hardware Support

5.4. Semaphores

5.5. Monitors

5.6. Message Passing

5.7. Readers/Writers Problem

5.8. Summary

5.9. Key Terms, Review Questions, and Problems


6. Concurrency: Deadlock and Starvation


6.1. Principles of Deadlock

6.2. Deadlock Prevention

6.3. Deadlock Avoidance

6.4. Deadlock Detection

6.5. An Integrated Deadlock Strategy

6.6. Dining Philosophers Problem

6.7. Unix Concurrency Mechanisms

6.8. Linux Kernel Concurrency Mechanisms

6.9. Solaris Thread Synchronization Primitives

6.10. Windows Concurrency Mechanisms

6.11. Android Interprocess Communication

6.12. Summary

6.13. Key Terms, Review Questions, and Problems


III. Memory


7. Memory Management


7.1. Memory Management Requirements

7.2. Memory Partitioning

7.3. Paging

7.4. Segmentation

7.5. Summary

7.6. Key Terms, Review Questions, and Problems

7A. Loading and Linking


8. Virtual Memory


8.1. Hardware and Control Structures

8.2. Operating System Software

8.3. Unix and Solaris Memory Management

8.4. Linux Memory Management

8.5. Windows Memory Management

8.6. Android Memory Management

8.7. Summary

8.8. Key Terms, Review Questions, and Problems


IV. Scheduling


9. Uniprocessor Scheduling


9.1. Types of Processor Scheduling

9.2. Scheduling Algorithms

9.3. Traditional Unix Scheduling

9.4. Summary

9.5. Key Terms, Review Questions, and Problems


10. Multiprocessor, Multicore, and Real-Time Scheduling


10.1. Multiprocessor and Multicore Scheduling

10.2. Real-Time Scheduling

10.3. Linux Scheduling

10.4. Unix Svr4 Scheduling

10.5. Unix Freebsd Scheduling

10.6. Windows Scheduling

10.7. Summary

10.8. Key Terms, Review Questions, and Problems


V. Input/Output and Files


11. I/O Management and Disk Scheduling


11.1. I/O Devices

11.2. Organization of the I/O Function

11.3. Operating System Design Issues

11.4. I/O Buffering

11.5. Disk Scheduling

11.6. Raid

11.7. Disk Cache

11.8. Unix Svr4 I/O

11.9. Linux I/O

11.10. Windows I/O

11.11. Summary

11.12. Key Terms, Review Questions, and Problems


12. File Management


12.1. Overview

12.2. File Organization and Access

12.3. B-Trees

12.4. File Directories

12.5. File Sharing

12.6. Record Blocking

12.7. Secondary Storage Management

12.8. Unix File Management

12.9. Linux Virtual File System

12.10. Windows File System

12.11. Android File Management

12.12. Summary

12.13. Key Terms, Review Questions, and Problems


VI. Embedded Systems


13 Embedded Operating Systems


13.1. Embedded Systems

13.2. Characteristics of Embedded Operating Systems

13.3. Embedded Linux

13.4. Tinyos

13.5. Key Terms, Review Questions, and Problems


14. Virtual Machines


14.1. Virtual Machine Concepts

14.2. Hypervisors

14.3. Container Virtualization

14.4. Processor Issues

14.5. Memory Management

14.6. I/O Management

14.7. Vmware Esxi

14.8. Microsoft Hyper-V and Xen Variants

14.9. Java Vm

14.10. Linux Vserver Virtual Machine Architecture

14.11. Summary

14.12. Key Terms, Review Questions, and Problems


15. Operating System Security


15.1. Intruders and Malicious Software

15.2. Buffer Overflow

15.3. Access Control

15.4. Unix Access Control

15.5. Operating Systems Hardening

15.6. Security Maintenance

15.7. Windows Security

15.8. Summary

15.9. Key Terms, Review Questions, and Problems


16. Cloud and IoT Operating Systems


16.1. Cloud Computing

16.2. Cloud Operating Systems

16.3. The Internet of Things

16.4. IoT Operating Systems

16.5. Key Terms and Review Questions


Appendix A. Topics in Concurrency

Appendix B. Programming and Operating System Projects





Rewards Program

Write a Review