19.1. Introduction

In Chapter 9 we defined an atomic operation on data in main memory. In Chapter 15 we extended the definition of atomicity for a single operation on data in persistent memory, and showed how to make such an operation crash-resilient. In this chapter we extend the discussion to composite operations on persistent data. From Chapter 15, a single operation on persistent data is atomic if:

  • When it terminates normally all its externally visible effects are made permanent (this is the property of durability), else it has no effect at all.

  • If the operation accesses a shared data object, its invocation does not interfere with other operation invocations on the same data object. We shall extend this concept into the property of isolation. ...

Get Operating Systems: Concurrent and Distributed Software Design 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.