Distributed Systems - Quick Notes
UNIT I: Introduction
A Distributed System is a collection of independent computers that appears to users as a single
coherent system.
Goals: Resource sharing, transparency, openness, scalability.
Types of transparency: Access, Location, Migration, Replication, Concurrency, Failure.
UNIT II: Communication
Communication models include Message Passing, Remote Procedure Call (RPC), and Remote
Method Invocation (RMI).
Middleware helps applications communicate across different platforms.
UNIT III: Processes and Synchronization
Threads improve concurrency. Clock synchronization can be physical or logical.
Mutual exclusion ensures only one process accesses a critical section at a time.
UNIT IV: Transactions and Concurrency Control
ACID Properties: Atomicity, Consistency, Isolation, Durability.
Concurrency Control Techniques: Locking, Timestamp Ordering, Optimistic Control.
Distributed Transactions use Two-Phase Commit (2PC) for atomic commitment.
Deadlocks occur when transactions wait indefinitely for each other.
UNIT V: Replication and Fault Tolerance
Replication improves availability and performance.
Fault tolerance enables systems to continue operating despite failures.
Recovery mechanisms restore the system after crashes.