They espouse a design philosophy which systematically trades a simple implementation with no concurrency for a more complex implementation with a higher degree of concurrency. They encourage the reader and the community to try to find alternative approaches which provide a mechanism that is easier to use. The authors' approach is directed to a specific kind of operating system which assumes distributed operation on several nodes that coordinate activity using message passing. Each node has one or more guardian modules totally contained on the node. Each guardian module serves as home for local processes and data.
Guardians have stable state and survive crashes with high probability.
If a guardian crashes, its processes die, but it recovers using its stable state to recover the rest of its objects. Guardians are used as the basis for commitment protocol to assure atomic actions over a set of nodes. A mutex is an encapsulation of atomic and nonatomic data types and the operations on them which provide for process synchronization. One seizes a mutex object for the execution of a group of operations. This causes the object to be locked while operations are performed on it.