21.1. Requirements for recovery

There are a number of reasons why recovery procedures are required in a system which supports atomic transactions:

  1. System crash

    The contents of main memory are lost, perhaps because of a power failure, but persistent store is not affected. This kind of system crash was discussed in Chapter 15 and a fail–stop model was assumed for simplicity. Any transaction in progress (that has not completed commit processing) will be affected by the loss of data structures in main memory and must be aborted. The effects of any committed transaction must persist and the system software must be designed to ensure this.

  2. Media failure

    For example, a disk head crash. Part of the database will be lost and it must be possible to restore ...

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.