Opentextbooks
Operating Systems and Middleware: Supporting Controlled Interaction
Max Hailperin
Computers & Technology
Operating Systems and Middleware: Supporting Controlled Interaction
Free
The publisher has enabled DRM protection, which means that you need to use the BookFusion iOS, Android or Web app to read this eBook. This eBook cannot be used outside of the BookFusion platform.
Description
Contents
Reviews
Language
Unknown
ISBN
Unknown
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
The book hasn't received reviews yet.