Distributed Systems – Complete Exam Notes
1. Introduction to Distributed Systems
Definition:
A distributed system is a collection of independent computers that work together and appear to the
user as a single system.
Characteristics:
- Concurrency
- No global clock
- Independent failures
- Transparency (access, location, migration, failure, replication)
Goals:
- Scalability, reliability, openness, resource sharing
2. Distributed Operating Systems (DOS)
Definition:
A DOS manages multiple machines and makes them look like a single coherent system.
Features:
- Transparency
- Distributed process management
- Distributed scheduling
- Shared virtual memory
- Fault tolerance
Architectures:
- Client-server
- Peer-to-peer
- Cluster OS
- Multicomputer OS
Advantages:
Scalability, resource sharing, performance, fault tolerance
Disadvantages:
High complexity, synchronization issues, debugging difficulty
3. Distributed File Systems (DFS)
Definition:
A DFS stores files across multiple servers but provides a unified namespace to the user.
Components:
- File servers
- Clients
- Metadata server
- Caching system
- Replication manager
Design Requirements:
- Transparency (location, replication, naming)
- Consistency
- Reliability
- Scalability
Examples:
NFS, AFS, HDFS, GFS
4. Distributed Synchronization
Need:
To coordinate processes accessing shared resources in a system without a global clock.
A. Mutual Exclusion Algorithms
1. Lamport’s Algorithm:
- Timestamp-based
- Ensures ordering
- Requires 3(N−1) messages
2. Ricart–Agrawala Algorithm:
- Request + reply mechanism
- Uses 2(N−1) messages
3. Token Ring Algorithm:
- Token circulates among nodes
- Node with token enters CS
B. Clock Synchronization
1. Physical Clock Sync:
- Cristian’s Algorithm
- Berkeley Algorithm
2. Logical Clock Sync:
- Lamport Logical Clocks
- Vector Clocks
C. Election Algorithms
- Bully Algorithm
- Ring Algorithm
D. Distributed Deadlock
Reasons:
No global memory, message delays, independent failures
Approaches:
- Deadlock prevention
- Deadlock detection
- Deadlock avoidance
These cover all necessary exam-level concepts on distributed operating systems, distributed file
systems, and synchronization.