In Book 1, Chapter 32, mutual exclusion prevents concurrent modification of shared state. A lock ensures that only one goroutine, thread, or process enters a critical section at a time. On a single machine, this is implemented with a mutex: a shared variable that the operating system helps arbitrate.
A distributed lock is mutual exclusion when the processes are on different machines. The shared variable is now a record in an external store — a database, a cache, or a coordination service. The arbitration is now a distributed protocol. The failure modes expand to include network partitions, clock skew, and process crashes while holding the lock.
Thread T9 (Coordination) runs through this chapter. Coordination is what distributed systems do when they need to behave as a unit despite running on independent machines. A distributed lock is coordination reduced to its simplest form: one process, one turn.