Operating Systems: Internals and Design Principles, 9th edition

Published by Pearson (July 14, 2021) © 2018

  • William Stallings

eTextbook on Pearson+

ISBN-13: 9780137516742 (2021 update)

eTextbook rental includes

  • Instant access to eTextbook
  • Search, highlight, and notes
  • Create flashcards
Products list

Details

  • A print text

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 aimed at computer science, computer engineering, and electrical engineering majors. 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 integrating projects into the course, 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 students and instructors 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.

Table of Contents

  • Online Chapters and Appendices
  • VideoNotes
  • Preface
  • 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

  1. 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
  2. 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
  3. 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
  4. 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

  1. 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
  2. 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

  1. 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
  2. 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

  1. 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
  2. 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

  1. 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
  2. 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
  3. 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
  4. 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

References

Credits

Index

This publication contains markup to enable structural navigation and compatibility with assistive technologies. Images in the publication MAY NOT be fully described, which is a barrier to those who rely on alternative text descriptions. The publication supports text reflow and contains no content hazards known to cause adverse physical reactions.

Need help? Get in touch