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

Operating Systems introduces operating systems topics for readers studying computer science, computer engineering, and electrical engineering. It illustrates and reinforces design concepts while discussing design trade-offs and the practical decisions affecting design, performance and security.

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

Need help? Get in touch