Chapter 7

Mutual Exclusion

7.1 Introduction

Mutual exclusion is a fundamental problem in concurrent programming and has been extensively studied under different contexts. Imagine that n users (n > 1) want to print data on a shared printer infinitely often. Since at most one user can print at any time, there should be a protocol for the fair sharing of that printer. As another example, consider a network of processes, where each process has a copy of a shared file F. To be consistent, all copies of F must be identical, regardless of how individual processes perform their read or write operations. Simultaneous updates of the local copies will violate the consistency of F. A simple way to achieve this is to give each process exclusive write access ...

Get Distributed Systems, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.