| |
| |
Introduction to Distributed Systems | |
| |
| |
What is an Operating System? | |
| |
| |
What is a Distributed System? | |
| |
| |
What is a Real-Time System? What is a Parallel System? | |
| |
| |
Sample Distributed Application | |
| |
| |
Summary | |
| |
| |
References for Further Study | |
| |
| |
Exercises | |
| |
| |
The Kernel | |
| |
| |
Kernel Types | |
| |
| |
Processes and Threads | |
| |
| |
Process Management | |
| |
| |
Process Scheduling | |
| |
| |
Summary | |
| |
| |
References for Further Study | |
| |
| |
Exercises | |
| |
| |
Interprocess Communication | |
| |
| |
Selection Factors | |
| |
| |
Message Passing | |
| |
| |
Pipes | |
| |
| |
Sockets | |
| |
| |
Remote Procedure Calls | |
| |
| |
Summary | |
| |
| |
References for Further Study | |
| |
| |
Exercises | |
| |
| |
Memory Management | |
| |
| |
Review of Centralized Memory Management | |
| |
| |
Simple Memory Model | |
| |
| |
Shared Memory Model | |
| |
| |
Distributed Shared Memory | |
| |
| |
Memory Migration | |
| |
| |
Summary | |
| |
| |
References for Further Study | |
| |
| |
Exercises | |
| |
| |
Concurrency Control | |
| |
| |
Mutual Exclusion and Critical Regions | |
| |
| |
Semaphores Monitors | |
| |
| |
Locks | |
| |
| |
Software Lock Control | |
| |
| |
Token-Passing Mutual Exclusion | |
| |
| |
Deadlocks | |
| |
| |
Summary | |
| |
| |
References for Further Study | |
| |
| |
Exercises | |
| |
| |
Object-Based Operating systems | |
| |
| |
Introduction to Objects | |
| |
| |
The Clouds Object Approach | |
| |
| |
Chorus V3 and COOL v2. Amoeba | |
| |
| |
Distributed Component Object Model (DCOM) | |
| |
| |
CORBA Overview | |
| |
| |
Summary | |
| |
| |
References for Further Study | |
| |
| |
Exercises | |
| |
| |
Distributed Process Management | |
| |
| |
Distributed Scheduling Algorithm Choices | |
| |
| |
Scheduling Algorithm Approaches | |
| |
| |
Coordinator Elections | |
| |
| |
Orphan Processes | |
| |
| |
Summary | |
| |
| |
References for Further Study | |
| |
| |
Exercises | |
| |
| |
Distributed File Systems | |
| |
| |
Distributed Name Service | |
| |
| |
Distributed File Service | |
| |
| |
Distributed Directory Service | |
| |
| |
NFS | |
| |
| |
X.500 | |
| |
| |
Summary | |
| |
| |
References for Further Study | |
| |
| |
Exercises | |
| |
| |
Transaction Management & Consistency Models | |
| |
| |
Transaction Management Motivation | |
| |
| |
ACID Properties of a Transaction | |
| |
| |
Consistency Models | |
| |
| |
Two-Phase Commit Protocol | |
| |
| |
Nested Transactions | |
| |
| |
Implementation Issues for Transactions | |
| |
| |
Summary | |
| |
| |
References for Further Study | |
| |
| |
Exercises | |
| |
| |
Distributed Synchronization | |
| |
| |
Introduction to Global Time | |
| |
| |
Physical Clocks | |
| |
| |
Network Time Protocol (NTP) | |
| |
| |
Logical Clocks | |
| |
| |
Summary | |
| |
| |
References for Further Study | |
| |
| |
Exercises | |
| |
| |
Distributed Security | |
| |
| |
Crytography and Digital Signatures | |
| |
| |
Authentication | |
| |
| |
Access Control (Firewalls) | |
| |
| |
Summary | |
| |
| |
References for Further Study | |
| |
| |
Exercises | |
| |
| |
CASE STUDY: Windows 2000 | |
| |
| |
Overview: Windows 2000 Design | |
| |
| |
Kernel Mode Overview | |
| |
| |
Plug and Play | |
| |
| |
NT Files System in Windows 2000 (NTFS) | |
| |
| |
Active Directory | |
| |
| |
Microsoft Management Console (MMC) | |
| |
| |
Cluster Service | |
| |
| |
Windows 2000 Security | |
| |
| |
HYDRA-A Thin Client | |
| |
| |
Summary | |
| |
| |
References for Further Study | |
| |
| |
Exercises | |
| |
| |
Surgical Scheduling Program | |
| |
| |
Documentation Overview | |
| |
| |
Design Documentation | |
| |
| |
Functional Descriptions | |
| |
| |
Data Dictionary | |
| |
| |
User Documentation | |
| |
| |
Client Source Code | |
| |
| |
Server Source Code | |
| |
| |
Common Source Code | |
| |
| |
File Initialization Source Code: write_ca.c | |
| |
| |
List of Acronyms | |
| |
| |
Glossary of Terms | |
| |
| |
Bibliography | |
| |
| |
Index | |