You are previewing Operating Systems.
O'Reilly logo
Operating Systems

Book Description

The book follows the principle of top-down design and bottom-up development. The discussion of key concepts with few references to technologies helps the reader grasp the fundamentals easily.

Table of Contents

  1. Copyright
  2. About the Authors
  3. Preface
  4. Acknowledgements
  5. Overview
    1. Introduction
    2. Basic Terminology
    3. The Computer System
    4. I/O Device Operation
    5. Process Abstraction
    6. Processor Operating Mode
    7. System Call, Interrupt, Exception, and Kernel Path
    8. Interprocess Communication and Process Synchronization
    9. Protection and Security
    10. Execution Semantics
    11. Classification of Operating Systems
    12. Designing Operating Systems
    13. Summary
    14. Literature
    15. Exercises
  6. Hardware Platforms
    1. Introduction
    2. The Main Hardware Components
    3. Hardware Layout
    4. Summary
    5. Literature
    6. Exercises
  7. Software Platforms
    1. Introduction
    2. Different Views of Operating Systems
    3. Bottom-layer Subsystems
    4. Middle-layer Subsystems
    5. Top-layer Subsystems
    6. Other Subsystems
    7. Summary
    8. Literature
    9. Exercises
  8. Processes and Threads
    1. Introduction
    2. Process Abstraction
    3. Programs vs Processes
    4. Process Context and Process Descriptor
    5. Process Address Space
    6. Process Execution Mode
    7. Process Identification Information
    8. Interprocess Relationship
    9. Process State
    10. Process State Transition
    11. Process Management
    12. Threads and their Management
    13. Summary
    14. Literature
    15. Exercises
  9. CPU Management
    1. Introduction
    2. Scheduling Objectives
    3. Performance Metrics
    4. A System Model
    5. Two Broad Scheduling Classes: Preemptive vs Non-preemptive
    6. The Context Switch
    7. Scheduling Schemes
    8. Summary
    9. Literature
    10. Exercises
  10. Interprocess Communications
    1. Introduction
    2. Interprocess Communications
    3. Interprocess Communication Models
    4. Interprocess Communication Schemes
    5. Summary
    6. Literature
    7. Exercises
  11. Process Synchronization
    1. Introduction
    2. Process Synchronization
    3. A Typical Synchronization Problem
    4. Classical Synchronization Problems
    5. Synchronization Solutions
    6. Deadlock
    7. The Real Challenge
    8. Summary
    9. Literature
    10. Exercises
  12. Memory Management
    1. Introduction
    2. Memory-management System
    3. Memory Hardware
    4. Address Spaces and Address Translation
    5. Segmentation
    6. Paging
    7. Paged Segmentation
    8. Summary
    9. Literature
    10. Exercises
  13. Virtual Memory
    1. Introduction
    2. Virtual Memory
    3. Memory Organization
    4. Virtual-memory Implementation
    5. Demand Fetching
    6. Demand Paging
    7. Demand Segmentation
    8. The Real Illusion
    9. Summary
    10. Literature
    11. Exercises
  14. I/O Device Management
    1. Introduction
    2. I/O Devices
    3. Device Drivers
    4. I/O Subsystem
    5. Disk Storage
    6. The Network Interface Card
    7. User Interface to Devices
    8. Summary
    9. Literature
    10. Exercises
  15. File Systems
    1. Introduction
    2. File Systems
    3. File Attributes
    4. File Types
    5. Operations
    6. File Organization
    7. Device File
    8. File Protection
    9. Concurrency Control
    10. File-system Implementation
    11. Virtual File Systems
    12. Runtime Structures
    13. Summary
    14. Literature
    15. Exercises
  16. System Call, Interrupt, and Exception
    1. Introduction
    2. System Call
    3. Interrupt
    4. Exception
    5. Programmable Interrupt Controller
    6. Interrupt, Exception, and System Call Handlers
    7. Summary
    8. Exercises
  17. Protection and Security
    1. Introduction
    2. The Need for Security
    3. Secure Software Systems
    4. Security Environments
    5. Security Vulnerabilities
    6. Access-control-based Security Systems
    7. Authentication
    8. Secure Communication
    9. Application Security
    10. Virus
    11. Application Security Approaches
    12. Summary
    13. Literature
    14. Exercises
  18. Storage Hierarchy and Caching
    1. Introduction
    2. Storage Hierarchy
    3. Data Cache
    4. Cache Organization
    5. Cache Access
    6. Cache Populating: Demand Fetch vs Prefetch
    7. Cache Management
    8. Cache Replacement
    9. Cache Concurrency
    10. Cache Coherence
    11. Major Challenges
    12. Summary
    13. Literature
    14. Exercises
  19. Real-time and Embedded Operating Systems
    1. Introduction
    2. The Characteristics of an RE System
    3. The Hardware Elements of Real-time Systems
    4. Operating Systems for RE Systems
    5. The Structure of REOS
    6. CPU Scheduling
    7. Task Synchronization
    8. Memory Management
    9. File Systems
    10. Summary
    11. Literature
    12. Exercises
  20. Distributed Operating Systems
    1. Introduction
    2. Distributed Systems
    3. Goals and Challenges
    4. Computer Networks
    5. Interprocess Communication
    6. System Environment
    7. Distributed Applications
    8. Fault Tolerance
    9. Summary
    10. Literature
    11. Exercises
  21. The Linux Operating System
    1. An Overview of Linux
    2. The Hardware Platform
    3. The Components of Linux
    4. Processes and Threads
    5. CPU Management
    6. Interprocess Communications
    7. Synchronization
    8. Memory Management
    9. Virtual Memory
    10. I/O Subsystem and Device Management
    11. File System
    12. Interrupt, Exception, and System Call
    13. Protection and Security
    14. Data Cache
    15. Real-time System Support
    16. Networking
    17. Summary
    18. Literature
    19. Exercises
  22. Windows XP
    1. Windows XP Overview
    2. The Hardware Platform
    3. The Components of Windows XP
    4. Process, Thread, Fiber, and Job
    5. CPU Management
    6. Interrupt, Exception, and System Call
    7. Interprocess Communications
    8. Synchronization
    9. Memory Management
    10. Virtual Memory
    11. I/O Subsystem and Device Management
    12. File System
    13. Security
    14. Data Cache
    15. Networking
    16. Summary
    17. Literature
    18. Exercises
  23. Bibliography
  24. Glossary
    1. A
    2. B
    3. C
    4. D
    5. E
    6. F
    7. G
    8. H
    9. I
    10. K
    11. L
    12. M
    13. O
    14. P
    15. R
    16. S
    17. T
    18. U
    19. V
    20. W
  25. Index