Two-Phase Locking in OS

In several database systems, requesting locks on several records and then updating all of the locked records is a common task.

There is a real danger of deadlock whenever multiple processes are running at the same time. The approach used is called two-phase locking.

During the first phase, the process attempts to lock all necessary records one at a time. And if it succeeds, then it begins the second phase, performing its updates and releasing the locks. There is no real work done in the first phase.

If, during the first phase, some record is needed that is already locked, the process just releases all its locks and starts the first phase all over.

In several versions of two-phase locking, there is no release or restart if a lock is encountered during the first phase. Deadlock can occur in these versions.

If I define the term "two-phase locking," I can say that if locking and unlocking are both done in two stages, it is called "two-phase locking."

Basically, the two-phase locking protocol applies and removes locks in two stages, which are as follows:

  1. The expanding phase
  2. The shrinking phase

The expanding phase occurs when locks are obtained but no locks are released. Locks are released and no locks are acquired during the shrinking phase. The expanding phase is also referred to as the "growing phase," and the shrinking phase is referred to as the "contracting phase."

This topic comes under "Operating System,"  and I already mentioned at the start of the course that I'm designing this course for beginners, therefore I'm not going into detail about the "two-phase locking." Therefore, I'm here to end the description of it. However, if you want to learn more about this subject, please let me know. You can contact me through any of our social media accounts or email addresses, which can be found at the bottom of the page under the "Contact Us" link. Remember to mention my name, "Edwin."

Operating System Quiz


« Previous Topic Next Topic »