Operating Systems and Middleware: Supporting Controlled Interaction
Free

Operating Systems and Middleware: Supporting Controlled Interaction

By Max Hailperin
Free
Book Description
Table of Contents
  • Preface
  • Introduction
    • Chapter Overview
    • What Is an Operating System?
    • What is Middleware?
    • Objectives for the Book
    • Multiple Computations on One Computer
    • Controlling the Interactions Between Computations
    • Supporting Interaction Across Time
    • Supporting Interaction Across Space
    • Security
  • Threads
    • Introduction
    • Example of Multithreaded Programs
    • Reasons for Using Concurrent Threads
    • Switching Between Threads
    • Preemptive Multitasking
    • Security and Threads
  • Scheduling
    • Introduction
    • Thread States
    • Scheduling Goals
      • Throughput
      • Response Time
      • Urgency, Importance, and Resource Allocation
    • Fixed-Priority Scheduling
    • Dynamic-Priority Scheduling
      • Earliest Deadline First Scheduling
      • Decay Usage Scheduling
    • Proportional-Share Scheduling
    • Security and Scheduling
  • Synchronization and Deadlocks
    • Introduction
    • Races and the Need for Mutual Exclusion
    • Mutexes and Monitors
      • The Mutex Application Programing Interface
      • Monitors: A More Structured Interface to Mutexes
      • Underlying Mechanisms for Mutexes
    • Other Synchronization Patterns
      • Bounded Buffers
      • Readers/Writers Locks
      • Barriers
    • Condition Variables
    • Semaphores
    • Deadlock
      • The Deadlock Problem
      • Deadlock Prevention Through Resource Ordering
      • Ex Post Facto Deadlock Detection
      • Immediate Deadlock Detection
    • The Interaction of Synchronization with Scheduling
      • Priority Inversion
      • The Convoy Phenomenon
    • Nonblocking Synchronization
    • Security and Synchronization
  • Atomic Transactions
    • Introduction
    • Example Applications of Transactions
      • Database Systems
      • Message-Queuing Systems
      • Journaled File Systems
    • Mechanisms to Ensure Atomicity
      • Serializability: Two-Phase Locking
      • Failure Atomicity: Undo Logging
    • Transaction Durability: Write-Ahead Logging
    • Additional Transaction Mechanisms
      • Increased Transaction Concurrency: Reduced Isolation
      • Coordinated Transaction Participants: Two-Phase Commit
    • Security and Transactions
  • Virtual Memory
    • Introduction
    • Uses for Virtual Memory
      • Private Storage
      • Controlled Sharing
      • Flexible Memory Allocation
      • Sparse Address Spaces
      • Persistence
      • Demand-Driven Program Loading
      • Efficient Zero Filling
      • Substituting Disk Storage for RAM
    • Mechanisms for Virtual Memory
      • Software/Hardware Interface
      • Linear Page Tables
      • Multilevel Page Tables
      • Hashed Page Tables
      • Segmentation
    • Policies for Virtual Memory
      • Fetch Policy
      • Placement Policy
      • Replacement Policy
    • Security and Virtual Memory
  • Processes and Protection
    • Introduction
    • POSIX Process Management API
    • Protecting Memory
      • The Foundation of Protection: Two Processor Modes
      • The Mainstream: Multiple Address Space Systems
      • An Alternative: Single Address Space Systems
    • Representing Access Rights
      • Fundamentals of Access Rights
      • Capabilities
      • Access Control Lists and Credentials
    • Alternative Granularities of Protection
      • Protection Within a Process
      • Protection of Entire Simulated Machines
    • Security and Protection
  • Files and Other Persistent Storage
    • Introduction
    • Disk Storage Technology
    • POSIX File API
      • File Descriptors
      • Mapping Files Into Virtual Memory
      • Reading and Writing Files at Specified Positions
      • Sequential Reading and Writing
    • Disk Space Allocation
      • Fragmentation
      • Locality
      • Allocation Policies and Mechanisms
    • Metadata
      • Data Location Metadata
      • Access Control Metadata
      • Other Metadata
    • Directories and Indexing
      • File Directories Versus Database Indexes
      • Using Indexes to Locate Files
      • File Linking
      • Directory and Index Data Structures
    • Metadata Integrity
    • Polymorphism in File System Implementations
    • Security and Persistent Storage
  • Networking
    • Introduction
      • Networks and Internets
      • Protocol Layers
      • The End-to-End Principle
      • The Networking Roles of Operating Systems, Middleware, and Application Software
    • The Application Layer
      • The Web as a Typical Example
      • The Domain Name System: Application Layer as Infrastructure
      • Distributed File Systems: An Application Viewed Through Operating Systems
    • The Transport Layer
      • Socket APIs
      • TCP, the Dominant Transport Protocol
      • Evolution Within and Beyond TCP
    • The Network Layer
      • IP, Versions 4 and 6
      • Routing and Label Switching
      • Network Address Translation: An End to End-to-End?
    • The Link and Physical Layers
    • Network Security
      • Security and the Protocol Layers
      • Firewalls and Intrusion Detection Systems
      • Cryptography
  • Messaging, RPC, and Web Services
    • Introduction
    • Messaging Systems
    • Remote Procedure Call
      • Principles of Operation for RPC
      • An Example Using Java RMI
    • Web Services
    • Security and Communication Middleware
  • Security
    • Introduction
    • Security Objectives and Principles
    • User Authentication
      • Password Capture Using Spoofing and Phishing
      • Checking Passwords Without Storing Them
      • Passwords for Multiple, Independent Systems
      • Two-Factor Authentication
    • Access and Information-Flow Controls
    • Viruses and Worms
    • Security Assurance
    • Security Monitoring
    • Key Security Best Practices
  • Stacks
    • Stack-Allocated Storage: The Concept
    • Representing a Stack in Memory
    • Using a Stack for Procedure Activations
  • Bibliography
  • Index
    No review for this book yet, be the first to review.
      No comment for this book yet, be the first to comment
      You May Also Like