20.1. Introduction

The main concern of this chapter is how concurrent execution of transactions can be implemented. Crash resilience, although related, is covered in the next chapter. The conceptual model based on objects, which was developed in Chapter 19, will be used again here.

A natural approach to concurrency control is to lock the objects involved in a composite operation (transaction). We shall show that locking can achieve serializability of the operations of transactions but that deadlock has to be considered. An alternative to locking is to associate a time-stamp with each transaction and to use this as a basis for enforcing one particular serializable order of execution of the operations of transactions. The methods used for concurrency ...

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.