Define the Two Phase Locking Protocol
This is a protocol that is used to make sure serializability of transactions. This protocol needs that every transaction issue lock and unlock requests in two phases:
Growing Phase: A transaction may acquire locks, but may not release any lock.
Shrinking Phase: A transaction may release locks, but may not acquire any new locks. Basically, a transaction is in growing phase. The transaction obtains locks as required. Just one time the transaction releases a lock, it comes in the shrinking phase, and it can issue no more lock requests. Two-phase locking makes sure conflict serializability, but does not make sure freedom from deadlock.