You are previewing Operating System Concepts, 8th Edition.
O'Reilly logo
Operating System Concepts, 8th Edition

Book Description

Keep pace with the fast-developing world of operating systems

Open-source operating systems, virtual machines, and clustered computing are among the leading fields of operating systems and networking that are rapidly changing. With substantial revisions and organizational changes, Silberschatz, Galvin, and Gagne's Operating System Concepts, Eighth Edition remains as current and relevant as ever, helping you master the fundamental concepts of operating systems while preparing yourself for today's emerging developments.

As in the past, the text brings you up to speed on core knowledge and skills, including:

  • What operating systems are, what they do, and how they are designed and constructed

  • Process, memory, and storage management

  • Protection and security

  • Distributed systems

  • Special-purpose systems

Beyond the basics, the Eight Edition sports substantive revisions and organizational changes that clue you in to such cutting-edge developments as open-source operating systems, multi-core processors, clustered computers, virtual machines, transactional memory, NUMA, Solaris 10 memory management, Sun's ZFS file system, and more. New to this edition is the use of a simulator to dynamically demonstrate several operating system topics.

Best of all, a greatly enhanced WileyPlus, a multitude of new problems and programming exercises, and other enhancements to this edition all work together to prepare you enter the world of operating systems with confidence.

Table of Contents

  1. Title Page
  2. Copyright Page
  3. Dedication
  4. Preface
    1. Organization of This Book
    2. Content of This Book
    3. Operating-System Environments
    4. The Eighth Edition
    5. Programming Problems and Projects
    6. Teaching Supplements
    7. Mailing List
    8. Suggestions
    9. Acknowledgments
  5. Part One - Overview
    1. CHAPTER 1 - Introduction
      1. 1.1 What Operating Systems Do
      2. 1.2 Computer-System Organization
      3. 1.3 Computer-System Architecture
      4. 1.4 Operating-System Structure
      5. 1.5 Operating-System Operations
      6. 1.6 Process Management
      7. 1.7 Memory Management
      8. 1.8 Storage Management
      9. 1.9 Protection and Security
      10. 1.10 Distributed Systems
      11. 1.11 Special-Purpose Systems
      12. 1.12 Computing Environments
      13. 1.13 Open-Source Operating Systems
      14. 1.14 Summary
      15. Practice Exercises
      16. Exercises
      17. Wiley Plus
      18. Bibliographical Notes
    2. CHAPTER 2 - Operating System Structures
      1. 2.1 Operating-System Services
      2. 2.2 User Operating-System Interface
      3. 2.3 System Calls
      4. 2.4 Types of System Calls
      5. 2.5 System Programs
      6. 2.6 Operating-System Design and Implementation
      7. 2.7 Operating-System Structure
      8. 2.8 Virtual Machines
      9. 2.9 Operating-System Debugging
      10. 2.10 Operating-System Generation
      11. 2.11 System Boot
      12. 2.12 Summary
      13. Practice Exercises
      14. Exercises
      15. Programming Problems
      16. Programming Projects
      17. Wiley Plus
      18. Bibliographical Notes
  6. Part Two - Process Management
    1. CHAPTER 3 - Processes
      1. 3.1 Process Concept
      2. 3.2 Process Scheduling
      3. 3.3 Operations on Processes
      4. 3.4 Interprocess Communication
      5. 3.5 Examples of IPC Systems
      6. 3.6 Communication in Client-Server Systems
      7. 3.7 Summary
      8. Practice Exercises
      9. Exercises
      10. Programming Problems
      11. Programming Projects
      12. Wiley Plus
      13. Bibliographical Notes
    2. CHAPTER 4 - Threads
      1. 4.1 Overview
      2. 4.2 Multithreading Models
      3. 4.3 Thread Libraries
      4. 4.4 Threading Issues
      5. 4.5 Operating-System Examples
      6. 4.6 Summary
      7. Practice Exercises
      8. Exercises
      9. Projects
      10. Wiley Plus
      11. Bibliographical Notes
    3. CHAPTER 5 - CPU Scheduling
      1. 5.1 Basic Concepts
      2. 5.2 Scheduling Criteria
      3. 5.3 Scheduling Algorithms
      4. 5.4 Thread Scheduling
      5. 5.5 Multiple-Processor Scheduling
      6. 5.6 Operating System Examples
      7. 5.7 Algorithm Evaluation
      8. 5.8 Summary
      9. Practice Exercises
      10. Exercises
      11. Wiley Plus
      12. Bibliographical Notes
    4. CHAPTER 6 - Process Synchronization
      1. 6.1 Background
      2. 6.2 The Critical-Section Problem
      3. 6.3 Peterson’s Solution
      4. 6.4 Synchronization Hardware
      5. 6.5 Semaphores
      6. 6.6 Classic Problems of Synchronization
      7. 6.7 Monitors
      8. 6.8 Synchronization Examples
      9. 6.9 Atomic Transactions
      10. 6.10 Summary
      11. Practice Exercises
      12. Exercises
      13. Programming Problems
      14. Programming Projects
      15. Wiley Plus
      16. Bibliographical Notes
    5. CHAPTER 7 - Deadlocks
      1. 7.1 System Model
      2. 7.2 Deadlock Characterization
      3. 7.3 Methods for Handling Deadlocks
      4. 7.4 Deadlock Prevention
      5. 7.5 Deadlock Avoidance
      6. 7.6 Deadlock Detection
      7. 7.7 Recovery from Deadlock
      8. 7.8 Summary
      9. Practice Exercises
      10. Exercises
      11. Programming Problems
      12. Wiley Plus
      13. Bibliographical Notes
  7. Part Three - Memory Management
    1. CHAPTER 8 - Main Memory
      1. 8.1 Background
      2. 8.2 Swapping
      3. 8.3 Contiguous Memory Allocation
      4. 8.4 Paging
      5. 8.5 Structure of the Page Table
      6. 8.6 Segmentation
      7. 8.7 Example: The Intel Pentium
      8. 8.8 Summary
      9. Practice Exercises
      10. Exercises
      11. Programming Problems
      12. Wiley Plus
      13. Bibliographical Notes
    2. CHAPTER 9 - Virtual Memory
      1. 9.1 Background
      2. 9.2 Demand Paging
      3. 9.3 Copy-on-Write
      4. 9.4 Page Replacement
      5. 9.5 Allocation of Frames
      6. 9.6 Thrashing
      7. 9.7 Memory-Mapped Files
      8. 9.8 Allocating Kernel Memory
      9. 9.9 Other Considerations
      10. 9.10 Operating-System Examples
      11. 9.11 Summary
      12. Practice Exercises
      13. Exercises
      14. Programming Problems
      15. Wiley Plus
      16. Bibliographical Notes
  8. Part Four - Storage Management
    1. CHAPTER 10 - File -System Interface
      1. 10.1 File Concept
      2. 10.2 Access Methods
      3. 10.3 Directory and Disk Structure
      4. 10.4 File-System Mounting
      5. 10.5 File Sharing
      6. 10.6 Protection
      7. 10.7 Summary
      8. Practice Exercises
      9. Exercises
      10. Wiley Plus
      11. Bibliographical Notes
    2. CHAPTER 11 - File -System Implementation
      1. 11.1 File-System Structure
      2. 11.2 File-System Implementation
      3. 11.3 Directory Implementation
      4. 11.4 Allocation Methods
      5. 11.5 Free-Space Management
      6. 11.6 Efficiency and Performance
      7. 11.7 Recovery
      8. 11.8 NFS
      9. 11.9 Example: The WAFL File System
      10. 11.10 Summary
      11. Practice Exercises
      12. Exercises
      13. Wiley Plus
      14. Bibliographical Notes
    3. CHAPTER 12 - Mass -Storage Structure
      1. 12.1 Overview of Mass-Storage Structure
      2. 12.2 Disk Structure
      3. 12.3 Disk Attachment
      4. 12.4 Disk Scheduling
      5. 12.5 Disk Management
      6. 12.6 Swap-Space Management
      7. 12.7 RAID Structure
      8. 12.8 Stable-Storage Implementation
      9. 12.9 Tertiary-Storage Structure
      10. 12.10 Summary
      11. Practice Exercises
      12. Exercises
      13. Wiley Plus
      14. Bibliographical Notes
    4. CHAPTER 13 - I/O Systems
      1. 13.1 Overview
      2. 13.2 I/O Hardware
      3. 13.3 Application l/O Interface
      4. 13.4 Kernel I/O Subsystem
      5. 13.5 Transforming I/O Requests to Hardware Operations
      6. 13.6 STREAMS
      7. 13.7 Performance
      8. 13.8 Summary
      9. Practice Exercises
      10. Exercises
      11. Wiley Plus
      12. Bibliographical Notes
  9. Part Five - Protection and Security
    1. CHAPTER 14 - Protection
      1. 14.1 Goals of Protection
      2. 14.2 Principles of Protection
      3. 14.3 Domain of Protection
      4. 14.4 Access Matrix
      5. 14.5 Implementation of Access Matrix
      6. 14.6 Access Control
      7. 14.7 Revocation of Access Rights
      8. 14.8 Capability-Based Systems
      9. 14.9 Language-Based Protection
      10. 14.10 Summary
      11. Practice Exercises
      12. Exercises
      13. Wiley Plus
      14. Bibliographical Notes
    2. CHAPTER 15 - Security
      1. 15.1 The Security Problem
      2. 15.2 Program Threats
      3. 15.3 System and Network Threats
      4. 15.4 Cryptography as a Security Tool
      5. 15.5 User Authentication
      6. 15.6 Implementing Security Defenses
      7. 15.7 Firewalling to Protect Systems and Networks
      8. 15.8 Computer-Security Classifications
      9. 15.9 An Example: Windows XP
      10. 15.10 Summary
      11. Exercises
      12. Wiley Plus
      13. Bibliographical Notes
  10. Part Six - Distributed Systems
    1. CHAPTER 16 - Distributed System Structures
      1. 16.1 Motivation
      2. 16.2 Types of Network-based Operating Systems
      3. 16.3 Network Structure
      4. 16.4 Network Topology
      5. 16.5 Communication Structure
      6. 16.6 Communication Protocols
      7. 16.7 Robustness
      8. 16.8 Design Issues
      9. 16.9 An Example: Networking
      10. 16.10 Summary
      11. Practice Exercises
      12. Exercises
      13. Wiley Plus
      14. Bibliographical Notes
    2. CHAPTER 17 - Distributed File Systems
      1. 17.1 Background
      2. 17.2 Naming and Transparency
      3. 17.3 Remote File Access
      4. 17.4 Stateful Versus Stateless Service
      5. 17.5 File Replication
      6. 17.6 An Example: AFS
      7. 17.7 Summary
      8. Exercises
      9. Wiley Plus
      10. Bibliographical Notes
    3. CHAPTER 18 - Distributed Coordination
      1. 18.1 Event Ordering
      2. 18.2 Mutual Exclusion
      3. 18.3 Atomicity
      4. 18.4 Concurrency Control
      5. 18.5 Deadlock Handling
      6. 18.6 Election Algorithms
      7. 18.7 Reaching Agreement
      8. 18.8 Summary
      9. Exercises
      10. Wiley Plus
      11. Bibliographical Notes
  11. Part Seven - Special-Purpose Systems
    1. CHAPTER 19 - Real-Time Systems
      1. 19.1 Overview
      2. 19.2 System Characteristics
      3. 19.3 Features of Real-Time Kernels
      4. 19.4 Implementing Real-Time Operating Systems
      5. 19.5 Real-Time CPU Scheduling
      6. 19.6 An Example: VxWorks 5.x
      7. 19.7 Summary
      8. Exercises
      9. Wiley Plus
      10. Bibliographical Notes
    2. CHAPTER 20 - Multimedia Systems
      1. 20.1 What Is Multimedia?
      2. 20.2 Compression
      3. 20.3 Requirements of Multimedia Kernels
      4. 20.4 CPU Scheduling
      5. 20.5 Disk Scheduling
      6. 20.6 Network Management
      7. 20.7 An Example: CineBlitz
      8. 20.8 Summary
      9. Exercises
      10. Wiley Plus
      11. Bibliographical Notes
  12. Part Eight - Case Studies
    1. CHAPTER 21 - The Linux System
      1. 21.1 Linux History
      2. 21.2 Design Principles
      3. 21.3 Kernel Modules
      4. 21.4 Process Management
      5. 21.5 Scheduling
      6. 21.6 Memory Management
      7. 21.7 File Systems
      8. 21.8 Input and Output
      9. 21.9 Interprocess Communication
      10. 21.10 Network Structure
      11. 21.11 Security
      12. 21.12 Summary
      13. Practice Exercises
      14. Exercises
      15. Wiley Plus
      16. Bibliographical Notes
    2. CHAPTER 22 - Windows XP
      1. 22.1 History
      2. 22.2 Design Principles
      3. 22.3 System Components
      4. 22.4 Environmental Subsystems
      5. 22.5 File System
      6. 22.6 Networking
      7. 22.7 Programmer Interface
      8. 22.8 Summary
      9. Practice Exercises
      10. Exercises
      11. Bibliographical Notes
    3. CHAPTER 23 - Influential Operating Systems
      1. 23.1 Feature Migration
      2. 23.2 Early Systems
      3. 23.3 Atlas
      4. 23.4 XDS-940
      5. 23.5 THE
      6. 23.6 RC 4000
      7. 23.7 CTSS
      8. 23.8 MULTICS
      9. 23.9 IBM OS/360
      10. 23.10 TOPS-20
      11. 23.11 CP/M and MS/DOS
      12. 23.12 Macintosh Operating System and Windows
      13. 23.13 Mach
      14. 23.14 Other Systems
      15. Exercises
  13. Bibliography
  14. Credits
  15. Index