19.6. A system model for transaction processing

Figure 19.4 shows the example of an abstract data object (a bank account) which we used in Section 17.5. We now use the same example to study serializability. Each data object has an associated set of operations, in this case:

  • create a new account;

  • delete an existing account;

  • read-balance takes an account name as argument and returns the balance of the account;

  • check-balance takes an account name and a value as arguments and returns true if the balance of the account is greater than or equal to the argument value, else it returns false;

  • credit takes an account name and a value as arguments and adds the argument value to the balance. Note that the value of the balance is not output to the client;

  • debit ...

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.