思维导图备注

OperatingSystemConcepts
首页 收藏书籍 阅读记录
  • 书签 我的书签
  • 添加书签 添加书签 移除书签 移除书签

18.1 Event Ordering

浏览 6 扫码
  • 小字体
  • 中字体
  • 大字体
2022-01-24 10:31:20
请 登录 再阅读
上一篇:
下一篇:
  • 书签
  • 添加书签 移除书签
  • Title Page
  • Copyright Page
  • Dedication
  • Preface
  • Organization of This Book
  • Content of This Book
  • Operating-System Environments
  • The Eighth Edition
  • Programming Problems and Projects
  • Teaching Supplements
  • Mailing List
  • Suggestions
  • Acknowledgments
  • Part One - Overview
  • CHAPTER 1 - Introduction
  • 1.1 What Operating Systems Do
  • 1.1.1 User View
  • 1.1.2 System View
  • 1.1.3 Defining Operating Systems
  • 1.2 Computer-System Organization
  • 1.2.1 Computer-System Operation
  • 1.2.2 Storage Structure
  • 1.2.3 I/O Structure
  • 1.3 Computer-System Architecture
  • 1.3.1 Single-Processor Systems
  • 1.3.2 Multiprocessor Systems
  • 1.3.3 Clustered Systems
  • 1.4 Operating-System Structure
  • 1.5 Operating-System Operations
  • 1.5.1 Dual-Mode Operation
  • 1.5.2 Timer
  • 1.6 Process Management
  • 1.7 Memory Management
  • 1.8 Storage Management
  • 1.8.1 File-System Management
  • 1.8.2 Mass-Storage Management
  • 0.8.3 Caching
  • 1.8.4 I/O Systems
  • 1.9 Protection and Security
  • 1.10 Distributed Systems
  • 1.11 Special-Purpose Systems
  • 1.11.1 Real-Time Embedded Systems
  • 1.11.2 Multimedia Systems
  • 1.11.3 Handheld Systems
  • 1.12 Computing Environments
  • 1.12.1 Traditional Computing
  • 1.12.2 Client-Server Computing
  • 1.12.3 Peer-to-Peer Computing
  • 1.12.4 Web-Based Computing
  • 1.13 Open-Source Operating Systems
  • 1.13.1 History
  • 1.13.2 Linux
  • 1.13.3 BSD UNIX
  • 1.13.4 Solaris
  • 1.13.5 Utility
  • 1.14 Summary
  • Practice Exercises
  • Exercises
  • Wiley Plus
  • Bibliographical Notes
  • CHAPTER 2 - Operating System Structures
  • 2.1 Operating-System Services
  • 2.2 User Operating-System Interface
  • 2.2.1 Command Interpreter
  • 2.2.2 Graphical User Interfaces
  • 2.3 System Calls
  • 2.4 Types of System Calls
  • 2.4.1 Process Control
  • 2.4.2 File Management
  • 2.4.3 Device Management
  • 2.4.4 Information Maintenance
  • 2.4.5 Communication
  • 2.4.6 Protection
  • 2.5 System Programs
  • 2.6 Operating-System Design and Implementation
  • 2.6.1 Design Goals
  • 2.6.2 Mechanisms and Policies
  • 2.6.3 Implementation
  • 2.7 Operating-System Structure
  • 2.7.1 Simple Structure
  • 2.7.2 Layered Approach
  • 2.7.3 Microkernels
  • 2.7.4 Modules
  • 2.8 Virtual Machines
  • 2.8.1 History
  • 2.8.2 Benefits
  • 2.8.3 Simulation
  • 2.8.4 Para-virtualization
  • 2.8.5 Implementation
  • 2.8.6 Examples
  • 2.9 Operating-System Debugging
  • 2.9.1 Failure Analysis
  • 2.9.2 Performance Tuning
  • 2.9.3 DTrace
  • 2.10 Operating-System Generation
  • 2.11 System Boot
  • 2.12 Summary
  • Practice Exercises
  • Exercises
  • Programming Problems
  • Programming Projects
  • Part 1: Getting Started
  • Part 2: Building a New Kernel
  • Part 3: Extending the Kernel Source
  • Part 4: Adding a System Call to the Kernel
  • Part 5: Using the System Call from a User Program
  • Wiley Plus
  • Bibliographical Notes
  • Part Two - Process Management
  • CHAPTER 3 - Processes
  • 3.1 Process Concept
  • 3.1.1 The Process
  • 3.1.2 Process State
  • 3.1.3 Process Control Block
  • 3.1.4 Threads
  • 3.2 Process Scheduling
  • 3.2.1 Scheduling Queues
  • 3.2.2 Schedulers
  • 3.2.3 Context Switch
  • 3.3 Operations on Processes
  • 3.3.1 Process Creation
  • 3.3.2 Process Termination
  • 3.4 Interprocess Communication
  • 3.4.1 Shared-Memory Systems
  • 3.4.2 Message-Passing Systems
  • 3.5 Examples of IPC Systems
  • 3.5.1 An Example: POSIX Shared Memory
  • 3.5.2 An Example: Mach
  • 3.5.3 An Example: Windows XP
  • 3.6 Communication in Client-Server Systems
  • 3.6.1 Sockets
  • 3.6.2 Remote Procedure Calls
  • 3.6.3 Pipes
  • 3.7 Summary
  • Practice Exercises
  • Exercises
  • Programming Problems
  • Programming Projects
  • Part 1: Overview
  • Part 2: The Message Passing System
  • Part 3: Creating the Processes
  • Part 4: Implementation Hints
  • Wiley Plus
  • Bibliographical Notes
  • CHAPTER 4 - Threads
  • 4.1 Overview
  • 4.1.1 Motivation
  • 4.1.2 Benefits
  • 4.1.3 Multicore Programming
  • 4.2 Multithreading Models
  • 4.2.1 Many-to-One Model
  • 4.2.2 One-to-One Model
  • 4.2.3 Many-to-Many Model
  • 4.3 Thread Libraries
  • 4.3.1 Pthreads
  • 4.3.2 Win32 Threads
  • 4.3.3 Java Threads
  • 4.4 Threading Issues
  • 4.4.1 The fork() and exec() System Calls
  • 4.4.2 Cancellation
  • 4.4.3 Signal Handling
  • 4.4.4 Thread Pools
  • 4.4.5 Thread-Specific Data
  • 4.4.6 Scheduler Activations
  • 4.5 Operating-System Examples
  • 4.5.1 Windows XP Threads
  • 4.5.2 Linux Threads
  • 4.6 Summary
  • Practice Exercises
  • Exercises
  • Projects
  • Project 1: Naming Service Project
  • Project 2: Matrix Multiplication Project
  • Passing Parameters to Each Thread
  • Wiley Plus
  • Bibliographical Notes
  • CHAPTER 5 - CPU Scheduling
  • 5.1 Basic Concepts
  • 5.1.1 CPU-I/O Burst Cycle
  • 5.1.2 CPU Scheduler
  • 5.1.3 Preemptive Scheduling
  • 5.1.4 Dispatcher
  • 5.2 Scheduling Criteria
  • 5.3 Scheduling Algorithms
  • 5.3.1 First-Come, First-Served Scheduling
  • 5.3.2 Shortest-Job-First Scheduling
  • 5.3.3 Priority Scheduling
  • 5.3.4 Round-Robin Scheduling
  • 5.3.5 Multilevel Queue Scheduling
  • 5.3.6 Multilevel Feedback Queue Scheduling
  • 5.4 Thread Scheduling
  • 5.4.1 Contention Scope
  • 5.4.2 Pthread Scheduling
  • 5.5 Multiple-Processor Scheduling
  • 5.5.1 Approaches to Multiple-Processor Scheduling
  • 5.5.2 Processor Affinity
  • 5.5.3 Load Balancing
  • 5.5.4 Multicore Processors
  • 5.5.5 Virtualization and Scheduling
  • 5.6 Operating System Examples
  • 5.6.1 Example: Solaris Scheduling
  • 5.6.2 Example: Windows XP Scheduling
  • 5.6.3 Example: Linux Scheduling
  • 5.7 Algorithm Evaluation
  • 5.7.1 Deterministic Modeling
  • 5.7.2 Queueing Models
  • 5.7.3 Simulations
  • 5.7.4 Implementation
  • 5.8 Summary
  • Practice Exercises
  • Exercises
  • Wiley Plus
  • Bibliographical Notes
  • CHAPTER 6 - Process Synchronization
  • 6.1 Background
  • 6.2 The Critical-Section Problem
  • 6.3 Peterson’s Solution
  • 6.4 Synchronization Hardware
  • 6.5 Semaphores
  • 6.5.1 Usage
  • 6.5.2 Implementation
  • 6.5.3 Deadlocks and Starvation
  • 6.5.4 Priority Inversion
  • 6.6 Classic Problems of Synchronization
  • 6.6.1 The Bounded-Buffer Problem
  • 6.6.2 The Readers-Writers Problem
  • 6.6.3 The Dining-Philosophers Problem
  • 6.7 Monitors
  • 6.7.1 Usage
  • 6.7.2 Dining-Philosophers Solution Using Monitors
  • 6.7.3 Implementing a Monitor Using Semaphores
  • 6.7.4 Resuming Processes within a Monitor
  • 6.8 Synchronization Examples
  • 6.8.1 Synchronization in Solaris
  • 6.8.2 Synchronization in Windows XP
  • 6.8.3 Synchronization in Linux
  • 6.8.4 Synchronization in Pthreads
  • 6.9 Atomic Transactions
  • 6.9.1 System Model
  • 6.9.2 Log-Based Recovery
  • 6.9.3 Checkpoints
  • 6.9.4 Concurrent Atomic Transactions
  • 6.10 Summary
  • Practice Exercises
  • Exercises
  • Programming Problems
  • Programming Projects
  • The Buffer
  • Producer and Consumer Threads
  • Pthreads Thread Creation
  • Pthreads Mutex Locks
  • Pthreads Semaphores
  • Win32
  • Win32 Mutex Locks
  • Win32 Semaphores
  • Wiley Plus
  • Bibliographical Notes
  • CHAPTER 7 - Deadlocks
  • 7.1 System Model
  • 7.2 Deadlock Characterization
  • 7.2.1 Necessary Conditions
  • 7.2.2 Resource-Allocation Graph
  • 7.3 Methods for Handling Deadlocks
  • 7.4 Deadlock Prevention
  • 7.4.1 Mutual Exclusion
  • 7.4.2 Hold and Wait
  • 7.4.3 No Preemption
  • 7.4.4 Circular Wait
  • 7.5 Deadlock Avoidance
  • 7.5.1 Safe State
  • 7.5.2 Resource-Allocation-Graph Algorithm
  • 7.5.3 Banker’s Algorithm
  • 7.6 Deadlock Detection
  • 7.6.1 Single Instance of Each Resource Type
  • 7.6.2 Several Instances of a Resource Type
  • 7.6.3 Detection-Algorithm Usage
  • 7.7 Recovery from Deadlock
  • 7.7.1 Process Termination
  • 7.7.2 Resource Preemption
  • 7.8 Summary
  • Practice Exercises
  • Exercises
  • Programming Problems
  • Wiley Plus
  • Bibliographical Notes
  • Part Three - Memory Management
  • CHAPTER 8 - Main Memory
  • 8.1 Background
  • 8.1.1 Basic Hardware
  • 8.1.2 Address Binding
  • 8.1.3 Logical versus Physical Address Space
  • 8.1.4 Dynamic Loading
  • 8.1.5 Dynamic Linking and Shared Libraries
  • 8.2 Swapping
  • 8.3 Contiguous Memory Allocation
  • 8.3.1 Memory Mapping and Protection
  • 8.3.2 Memory Allocation
  • 8.3.3 Fragmentation
  • 8.4 Paging
  • 8.4.1 Basic Method
  • 8.4.2 Hardware Support
  • 8.4.3 Protection
  • 8.4.4 Shared Pages
  • 8.5 Structure of the Page Table
  • 8.5.1 Hierarchical Paging
  • 8.5.2 Hashed Page Tables
  • 8.5.3 Inverted Page Tables
  • 8.6 Segmentation
  • 8.6.1 Basic Method
  • 8.6.2 Hardware
  • 8.7 Example: The Intel Pentium
  • 8.7.1 Pentium Segmentation
  • 8.7.2 Pentium Paging
  • 8.7.3 Linux on Pentium Systems
  • 8.8 Summary
  • Practice Exercises
  • Exercises
  • Programming Problems
  • Wiley Plus
  • Bibliographical Notes
  • CHAPTER 9 - Virtual Memory
  • 9.1 Background
  • 9.2 Demand Paging
  • 9.2.1 Basic Concepts
  • 9.2.2 Performance of Demand Paging
  • 9.3 Copy-on-Write
  • 9.4 Page Replacement
  • 9.4.1 Basic Page Replacement
  • 9.4.2 FIFO Page Replacement
  • 9.4.3 Optimal Page Replacement
  • 9.4.4 LRU Page Replacement
  • 9.4.5 LRU-Approximation Page Replacement
  • 9.4.6 Counting-Based Page Replacement
  • 9.4.7 Page-Buffering Algorithms
  • 9.4.8 Applications and Page Replacement
  • 9.5 Allocation of Frames
  • 9.5.1 Minimum Number of Frames
  • 9.5.2 Allocation Algorithms
  • 9.5.3 Global versus Local Allocation
  • 9.5.4 Non-Uniform Memory Access
  • 9.6 Thrashing
  • 9.6.1 Cause of Thrashing
  • 9.6.2 Working-Set Model
  • 9.6.3 Page-Fault Frequency
  • 9.7 Memory-Mapped Files
  • 9.7.1 Basic Mechanism
  • 9.7.2 Shared Memory in the Win32 API
  • 9.7.3 Memory-Mapped I/O
  • 9.8 Allocating Kernel Memory
  • 9.8.1 Buddy System
  • 9.8.2 Slab Allocation
  • 9.9 Other Considerations
  • 9.9.1 Prepaging
  • 9.9.2 Page Size
  • 9.9.3 TLB Reach
  • 9.9.4 Inverted Page Tables
  • 9.9.5 Program Structure
  • 9.9.6 I/O Interlock
  • 9.10 Operating-System Examples
  • 9.10.1 Windows XP
  • 9.10.2 Solaris
  • 9.11 Summary
  • Practice Exercises
  • Exercises
  • Programming Problems
  • Wiley Plus
  • Bibliographical Notes
  • Part Four - Storage Management
  • CHAPTER 10 - File -System Interface
  • 10.1 File Concept
  • 10.1.1 File Attributes
  • 10.1.2 File Operations
  • 10.1.3 File Types
  • 10.1.4 File Structure
  • 10.1.5 Internal File Structure
  • 10.2 Access Methods
  • 10.2.1 Sequential Access
  • 10.2.2 Direct Access
  • 10.2.3 Other Access Methods
  • 10.3 Directory and Disk Structure
  • 10.3.1 Storage Structure
  • 10.3.2 Directory Overview
  • 10.3.3 Single-Level Directory
  • 10.3.4 Two-Level Directory
  • 10.3.5 Tree-Structured Directories
  • 10.3.6 Acyclic-Graph Directories
  • 10.3.7 General Graph Directory
  • 10.4 File-System Mounting
  • 10.5 File Sharing
  • 10.5.1 Multiple Users
  • 10.5.2 Remote File Systems
  • 10.5.3 Consistency Semantics
  • 10.6 Protection
  • 10.6.1 Types of Access
  • 10.6.2 Access Control
  • 10.6.3 Other Protection Approaches
  • 10.7 Summary
  • Practice Exercises
  • Exercises
  • Wiley Plus
  • Bibliographical Notes
  • CHAPTER 11 - File -System Implementation
  • 11.1 File-System Structure
  • 11.2 File-System Implementation
  • 11.2.1 Overview
  • 11.2.2 Partitions and Mounting
  • 11.2.3 Virtual File Systems
  • 11.3 Directory Implementation
  • 11.3.1 Linear List
  • 11.3.2 Hash Table
  • 11.4 Allocation Methods
  • 11.4.1 Contiguous Allocation
  • 11.4.2 Linked Allocation
  • 11.4.3 Indexed Allocation
  • 11.4.4 Performance
  • 11.5 Free-Space Management
  • 11.5.1 Bit Vector
  • 11.5.2 Linked List
  • 11.5.3 Grouping
  • 11.5.4 Counting
  • 11.5.5 Space Maps
  • 11.6 Efficiency and Performance
  • 11.6.1 Efficiency
  • 11.6.2 Performance
  • 11.7 Recovery
  • 11.7.1 Consistency Checking
  • 11.7.2 Log-Structured File Systems
  • 11.7.3 Other Solutions
  • 11.7.4 Backup and Restore
  • 11.8 NFS
  • 11.8.1 Overview
  • 11.8.2 The Mount Protocol
  • 11.8.3 The NFS Protocol
  • 11.8.4 Path-Name Translation
  • 11.8.5 Remote Operations
  • 11.9 Example: The WAFL File System
  • 11.10 Summary
  • Practice Exercises
  • Exercises
  • Wiley Plus
  • Bibliographical Notes
  • CHAPTER 12 - Mass -Storage Structure
  • 12.1 Overview of Mass-Storage Structure
  • 12.1.1 Magnetic Disks
  • 12.1.2 Magnetic Tapes
  • 12.2 Disk Structure
  • 12.3 Disk Attachment
  • 12.3.1 Host-Attached Storage
  • 12.3.2 Network-Attached Storage
  • 12.3.3 Storage-Area Network
  • 12.4 Disk Scheduling
  • 12.4.1 FCFS Scheduling
  • 12.4.2 SSTF Scheduling
  • 12.4.3 SCAN Scheduling
  • 12.4.4 C-SCAN Scheduling
  • 12.4.5 LOOK Scheduling
  • 12.4.6 Selection of a Disk-Scheduling Algorithm
  • 12.5 Disk Management
  • 12.5.1 Disk Formatting
  • 12.5.2 Boot Block
  • 12.5.3 Bad Blocks
  • 12.6 Swap-Space Management
  • 12.6.1 Swap-Space Use
  • 12.6.2 Swap-Space Location
  • 12.6.3 Swap-Space Management: An Example
  • 12.7 RAID Structure
  • 12.7.1 Improvement of Reliability via Redundancy
  • 12.7.2 Improvement in Performance via Parallelism
  • 12.7.3 RAID Levels
  • 12.7.4 Selecting a RAID Level
  • 12.7.5 Extensions
  • 12.7.6 Problems with RAID
  • 12.8 Stable-Storage Implementation
  • 12.9 Tertiary-Storage Structure
  • 12.9.1 Tertiary-Storage Devices
  • 12.9.2 Operating-System Support
  • 12.9.2.1 Application Interface
  • 12.9.3 Performance Issues
  • 12.10 Summary
  • Practice Exercises
  • Exercises
  • Wiley Plus
  • Bibliographical Notes
  • CHAPTER 13 - I/O Systems
  • 13.1 Overview
  • 13.2 I/O Hardware
  • 13.2.1 Polling
  • 13.2.2 Interrupts
  • 13.2.3 Direct Memory Access
  • 13.2.4 l/O Hardware Summary
  • 13.3 Application l/O Interface
  • 13.3.1 Block and Character Devices
  • 13.3.2 Network Devices
  • 13.3.3 Clocks and Timers
  • 13.3.4 Blocking and Nonblocking I/O
  • 13.4 Kernel I/O Subsystem
  • 13.4.1 I/O Scheduling
  • 13.4.2 Buffering
  • 13.4.3 Caching
  • 13.4.4 Spooling and Device Reservation
  • 13.4.5 Error Handling
  • 13.4.6 I/O Protection
  • 13.4.7 Kernel Data Structures
  • 13.4.8 Kernel I/O Subsystem Summary
  • 13.5 Transforming I/O Requests to Hardware Operations
  • 13.6 STREAMS
  • 13.7 Performance
  • 13.8 Summary
  • Practice Exercises
  • Exercises
  • Wiley Plus
  • Bibliographical Notes
  • Part Five - Protection and Security
  • CHAPTER 14 - Protection
  • 14.1 Goals of Protection
  • 14.2 Principles of Protection
  • 14.3 Domain of Protection
  • 14.3.1 Domain Structure
  • 14.3.2 An Example: UNIX
  • 14.3.3 An Example: MULTICS
  • 14.4 Access Matrix
  • 14.5 Implementation of Access Matrix
  • 14.5.1 Global Table
  • 14.5.2 Access Lists for Objects
  • 14.5.3 Capability Lists for Domains
  • 14.5.4 A Lock-Key Mechanism
  • 14.5.5 Comparison
  • 14.6 Access Control
  • 14.7 Revocation of Access Rights
  • 14.8 Capability-Based Systems
  • 14.8.1 An Example: Hydra
  • 14.8.2 An Example: Cambridge CAP System
  • 14.9 Language-Based Protection
  • 14.9.1 Compiler-Based Enforcement
  • 14.9.2 Protection in Java
  • 14.10 Summary
  • Practice Exercises
  • Exercises
  • Wiley Plus
  • Bibliographical Notes
  • CHAPTER 15 - Security
  • 15.1 The Security Problem
  • 15.2 Program Threats
  • 15.2.1 Trojan Horse
  • 15.2.2 Trap Door
  • 15.2.3 Logic Bomb
  • 15.2.4 Stack and Buffer Overflow
  • 15.2.5 Viruses
  • 15.3 System and Network Threats
  • 15.3.1 Worms
  • 15.3.2 Port Scanning
  • 15.3.3 Denial of Service
  • 15.4 Cryptography as a Security Tool
  • 15.4.1 Encryption
  • 15.4.1.1 Symmetric Encryption
  • 15.4.1.2 Asymmetric Encryption
  • 15.4.1.3 Authentication
  • 15.4.1.4 Key Distribution
  • 15.4.2 Implementation of Cryptography
  • 15.4.3 An Example: SSL
  • 15.5 User Authentication
  • 15.5.1 Passwords
  • 15.5.2 Password Vulnerabilities
  • 15.5.3 Encrypted Passwords
  • 15.5.4 One-Time Passwords
  • 15.5.5 Biometrics
  • 15.6 Implementing Security Defenses
  • 15.6.1 Security Policy
  • 15.6.2 Vulnerability Assessment
  • 15.6.3 Intrusion Detection
  • 15.6.4 Virus Protection
  • 15.6.5 Auditing, Accounting, and Logging
  • 15.7 Firewalling to Protect Systems and Networks
  • 15.8 Computer-Security Classifications
  • 15.9 An Example: Windows XP
  • 15.10 Summary
  • Exercises
  • Wiley Plus
  • Bibliographical Notes
  • Part Six - Distributed Systems
  • CHAPTER 16 - Distributed System Structures
  • 16.1 Motivation
  • 16.1.1 Resource Sharing
  • 16.1.2 Computation Speedup
  • 16.1.3 Reliability
  • 16.1.4 Communication
  • 16.2 Types of Network-based Operating Systems
  • 16.2.1 Network Operating Systems
  • 16.2.1.1 Remote Login
  • 16.2.2 Distributed Operating Systems
  • 16.3 Network Structure
  • 16.3.1 Local-Area Networks
  • 16.3.2 Wide-Area Networks
  • 16.4 Network Topology
  • 16.5 Communication Structure
  • 16.5.1 Naming and Name Resolution
  • 16.5.2 Routing Strategies
  • 16.5.3 Packet Strategies
  • 16.5.4 Connection Strategies
  • 16.5.5 Contention
  • 16.6 Communication Protocols
  • 16.7 Robustness
  • 16.7.1 Failure Detection
  • 16.7.2 Reconfiguration
  • 16.7.3 Recovery from Failure
  • 16.7.4 Fault Tolerance
  • 16.8 Design Issues
  • 16.9 An Example: Networking
  • 16.10 Summary
  • Practice Exercises
  • Exercises
  • Wiley Plus
  • Bibliographical Notes
  • CHAPTER 17 - Distributed File Systems
  • 17.1 Background
  • 17.2 Naming and Transparency
  • 17.2.1 Naming Structures
  • 17.2.2 Naming Schemes
  • 17.2.3 Implementation Techniques
  • 17.3 Remote File Access
  • 17.3.1 Basic Caching Scheme
  • 17.3.2 Cache Location
  • 17.3.3 Cache-Update Policy
  • 17.3.4 Consistency
  • 17.3.5 A Comparison of Caching and Remote Service
  • 17.4 Stateful Versus Stateless Service
  • 17.5 File Replication
  • 17.6 An Example: AFS
  • 17.6.1 Overview
  • 17.6.2 The Shared Name Space
  • 17.6.3 File Operations and Consistency Semantics
  • 17.6.4 Implementation
  • 17.7 Summary
  • Exercises
  • Wiley Plus
  • Bibliographical Notes
  • CHAPTER 18 - Distributed Coordination
  • 18.1 Event Ordering
  • 18.1.1 The Happened-Before Relation
  • 18.1.2 Implementation
  • 18.2 Mutual Exclusion
  • 18.2.1 Centralized Approach
  • 18.2.2 Fully Distributed Approach
  • 18.2.3 Token-Passing Approach
  • 18.3 Atomicity
  • 18.3.1 The Two-Phase Commit Protocol
  • 18.3.2 Failure Handling in 2PC
  • 18.4 Concurrency Control
  • 18.4.1 Locking Protocols
  • 18.4.2 Timestamping
  • 18.5 Deadlock Handling
  • 18.5.1 Deadlock Prevention and Avoidance
  • 18.5.2 Deadlock Detection
  • 18.6 Election Algorithms
  • 18.6.1 The Bully Algorithm
  • 18.6.2 The Ring Algorithm
  • 18.7 Reaching Agreement
  • 18.7.1 Unreliable Communications
  • 18.7.2 Faulty Processes
  • 18.8 Summary
  • Exercises
  • Wiley Plus
  • Bibliographical Notes
  • Part Seven - Special-Purpose Systems
  • CHAPTER 19 - Real-Time Systems
  • 19.1 Overview
  • 19.2 System Characteristics
  • 19.3 Features of Real-Time Kernels
  • 19.4 Implementing Real-Time Operating Systems
  • 19.4.1 Priority-Based Scheduling
  • 19.4.2 Preemptive Kernels
  • 19.4.3 Minimizing Latency
  • 19.5 Real-Time CPU Scheduling
  • 19.5.1 Rate-Monotonic Scheduling
  • 19.5.2 Earliest-Deadline-First Scheduling
  • 19.6 An Example: VxWorks 5.x
  • 19.7 Summary
  • Exercises
  • Wiley Plus
  • Bibliographical Notes
  • CHAPTER 20 - Multimedia Systems
  • 20.1 What Is Multimedia?
  • 20.1.1 Media Delivery
  • 20.1.2 Characteristics of Multimedia Systems
  • 20.1.3 Operating-System Issues
  • 20.2 Compression
  • 20.3 Requirements of Multimedia Kernels
  • 20.4 CPU Scheduling
  • 20.5 Disk Scheduling
  • 20.5.1 Earliest-Deadline-First Scheduling
  • 20.5.2 SCAN-EDF Scheduling
  • 20.6 Network Management
  • 20.6.1 Unicasting and Multicasting
  • 20.6.2 Real-Time Streaming Protocol
  • 20.7 An Example: CineBlitz
  • 20.7.1 Disk Scheduling
  • 20.7.2 Admission Control
  • 20.8 Summary
  • Exercises
  • Wiley Plus
  • Bibliographical Notes
  • Part Eight - Case Studies
  • CHAPTER 21 - The Linux System
  • 21.1 Linux History
  • 21.1.1 The Linux Kernel
  • 21.1.2 The Linux System
  • 21.1.3 Linux Distributions
  • 21.1.4 Linux Licensing
  • 21.2 Design Principles
  • 21.2.1 Components of a Linux System
  • 21.3 Kernel Modules
  • 21.3.1 Module Management
  • 21.3.2 Driver Registration
  • 21.3.3 Conflict Resolution
  • 21.4 Process Management
  • 21.4.1 The fork() and exec() Process Model
  • 21.4.2 Processes and Threads
  • 21.5 Scheduling
  • 21.5.1 Process Scheduling
  • 21.5.2 Kernel Synchronization
  • 21.5.3 Symmetric Multiprocessing
  • 21.6 Memory Management
  • 21.6.1 Management of Physical Memory
  • 21.6.2 Virtual Memory
  • 21.6.3 Execution and Loading of User Programs
  • 21.7 File Systems
  • 21.7.1 The Virtual File System
  • 21.7.2 The Linux ext2fs File System
  • 21.7.3 Journaling
  • 21.7.4 The Linux Process File System
  • 21.8 Input and Output
  • 21.8.1 Block Devices
  • 21.8.2 Character Devices
  • 21.9 Interprocess Communication
  • 21.9.1 Synchronization and Signals
  • 21.9.2 Passing of Data Among Processes
  • 21.10 Network Structure
  • 21.11 Security
  • 21.11.1 Authentication
  • 21.11.2 Access Control
  • 21.12 Summary
  • Practice Exercises
  • Exercises
  • Wiley Plus
  • Bibliographical Notes
  • CHAPTER 22 - Windows XP
  • 22.1 History
  • 22.2 Design Principles
  • 22.2.1 Security
  • 22.2.2 Reliability
  • 22.2.3 Windows and POSIX Application Compatibility
  • 22.2.4 High Performance
  • 22.2.5 Extensibility
  • 22.2.6 Portability
  • 22.2.7 International Support
  • 22.3 System Components
  • 22.3.1 Hardware-Abstraction Layer
  • 22.3.2 Kernel
  • 22.3.3 Executive
  • 22.4 Environmental Subsystems
  • 22.4.1 MS-DOS Environment
  • 22.4.2 16-Bit Windows Environment
  • 22.4.3 32-Bit Windows Environment on IA64
  • 22.4.4 Win32 Environment
  • 22.4.5 POSIX Subsystem
  • 22.4.6 Logon and Security Subsystems
  • 22.5 File System
  • 22.5.1 NTFS Internal Layout
  • 22.5.2 Recovery
  • 22.5.3 Security
  • 22.5.4 Volume Management and Fault Tolerance
  • 22.5.5 Compression and Encryption
  • 22.5.6 Mount Points
  • 22.5.7 Change Journal
  • 22.5.8 Volume Shadow Copies
  • 22.6 Networking
  • 22.6.1 Network Interfaces
  • 22.6.2 Protocols
  • 22.6.3 Distributed-Processing Mechanisms
  • 22.6.4 Redirectors and Servers
  • 22.6.5 Domains
  • 22.6.6 Active Directory
  • 22.6.7 Name Resolution in TCP/IP Networks
  • 22.7 Programmer Interface
  • 22.7.1 Access to Kernel Objects
  • 22.7.2 Sharing Objects between Processes
  • 22.7.3 Process Management
  • 22.7.4 Interprocess Communication
  • 22.7.5 Memory Management
  • 22.8 Summary
  • Practice Exercises
  • Exercises
  • Bibliographical Notes
  • CHAPTER 23 - Influential Operating Systems
  • 23.1 Feature Migration
  • 23.2 Early Systems
  • 23.2.1 Dedicated Computer Systems
  • 23.2.2 Shared Computer Systems
  • 23.2.3 Overlapped I/O
  • 23.3 Atlas
  • 23.4 XDS-940
  • 23.5 THE
  • 23.6 RC 4000
  • 23.7 CTSS
  • 23.8 MULTICS
  • 23.9 IBM OS/360
  • 23.10 TOPS-20
  • 23.11 CP/M and MS/DOS
  • 23.12 Macintosh Operating System and Windows
  • 23.13 Mach
  • 23.14 Other Systems
  • Exercises
  • Bibliography
  • Credits
  • Index
  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Z
暂无相关搜索结果!
    展开/收起文章目录

    二维码

    手机扫一扫,轻松掌上学

    《OperatingSystemConcepts》电子书下载

    请下载您需要的格式的电子书,随时随地,享受学习的乐趣!
    EPUB 电子书

    书签列表

      阅读记录

      阅读进度: 0.00% ( 0/0 ) 重置阅读进度