×

Lock Variable Mechanism | Operating System

Lock Variable Mechanism

The Lock variable mechanism is a synchronization mechanism that is implemented in a user mode. It is a software procedure.

Lock variable is a solution for busy waiting that can be easily applied by more than two processes.

In the lock variable mechanism, we use a lock variable, i.e., Lock. There are two values of Lock variable, which are 1 and 0. If the value of Lock is 1, then it means the critical section is occupied, but if the value of lock is 0, then it means the critical section is empty.

If a process wants to enter into the critical section, then first the process checks the value of Lock variable, and if the value of lock is 0, then we set the value of lock as 1, and after setting the value, the process enters into the critical section. Otherwise, the process waits for its turn.

The Pseudocode of the lock variable mechanism is:

Lock Variable Mechanism

In the following Pseudocode, we have three sections, i.e., Entry section, Critical section, and the exit section.

Initially, the value of the lock variable was 0. When any process wishes to enter into the critical section, it checks the condition of the while loop. It continuously waits until the value of the lock variable is 1. Because to enter, the value of lock variable should be 1. So, it is clear that initially, the critical section is empty, and thus the process enters into the critical section, and the value of the lock variable sets to1. This means another process will wait until the value becomes 0. In the exit section, we will reset the value of lock variable as 0 when the process will exit from the critical section.

Based on four conditions, we judge every Synchronization Mechanism:

  1. Mutual Exclusion
  2. Progress
  3. Bounded Waiting
  4. Portability

In the above four conditions, the Mutual Exclusion, and Progress are the most important. So, it should be provided by each solution.

Now, based on four mentioned conditions, we analyze the synchronization mechanism:

Mutual Exclusion

In few cases, Lock Variable Mechanism does not offer mutual exclusion. By writing the pseudocode in assembly language, we can easily understand this by the point of view of the operating system.  

Lock Variable Mechanism

Suppose we have two processes namely P1 and P2. Process P1 needs to execute into the critical section. Thus, it enters into the entry section. So, initially, the value of the lock variable is 0, so we need to change the value of lock variable from 0 to 1, and then the process can enter in the critical section. 

During this, the CPU preempts the process P1 and scheduled the process P2. Thus, it is found critical section is empty. Hence, the value of the lock variable is 0. The process P2 is also wishing to execute in the critical section. Thus, it enters into the critical section and sets the lock to 1.

 After that CPU wants to switch the state of process P1from waiting state to the running state. Till now, the process P1 did not completed its execution in the critical section. The process P1 previously checked the lock variable value, and that time the Lock variable value was 0. So, P1 can enter the critical section and does not need to verify the updated value of lock.

 Now there are two processes that are present in the critical section, but on the basis of mutual exclusion condition at the same time, no two processes stay in the critical section. So, the lock variable mechanism does not provide the assurance of mutual exclusion.

The limitation of a lock variable mechanism is that more than two processes can see the empty tag at the same time, and also more than one process is able to get enter into the critical section.

That’s why the lock variable mechanism does not offer the facility of mutual exclusion. That’s the reason why lock variable cannot be used.

So, the lock variable mechanism fails at the initial phase. Thus, the lock variable holds a very limited scope.


Related Topics

Fixed Partitioning in Operating System

Fixed Partitioning in OS Fixed Partitioning is also known as Contiguous memory allocation. Fixed Partitioning is the easiest method, which is used to load more than one process into the main memory. In Fixed...

5 minutes read.

Unix Operating System

Unix Operating System Unix Operating System is a multiuser, portable, time-sharing, and multitasking operating system that was developed in 1969. Unix operating system was developed by a group of AT &...

3 minutes read.

Disk Scheduling Algorithms

Disk Scheduling Algorithms Disk scheduling algorithms are the algorithms that are used for scheduling a disk. Generally, the scheduling refers to a time-table for completing any task or a job. With the help...

2 minutes read.

Difference between C-SCAN and SSTF Disk Scheduling Algorithm

C-SCAN / Circular Elevator The circular SCAN (C-SCAN) scheduling method is a modified version of the SCAN disc scheduling technique that addresses the SCAN algorithm's inefficiency by more equitably serving requests....

3 minutes read.

Difference between Protection and Security in Operating System

Some operating system mechanisms facilitate us to stop tampering with logical and physical resources. Some of these methods are security and protection. Protection and security are distinct concepts, despite the...

3 minutes read.

Look Disk Scheduling

Look Disk Scheduling Look disk scheduling is another type of disk scheduling algorithm. Look scheduling is an enhanced version of SCAN disk scheduling. Look disk scheduling is the same as SCAN disk scheduling,...

4 minutes read.

Process State in OS

The Process passes from different states, from its formation to completion. The following are the states of the Process. NewReadyRunningBlock or WaitTerminated or CompletedSuspend readySuspend wait or suspend blocked 1. New: - The state in which a process...

2 minutes read.

Page Table in Operating System

What is a Page Table? A page table is a data structure used by an operating system (OS) to store information about the physical location of the pages in a computer's...

6 minutes read.

MS-DOS Operating System

It is also referred to occasionally as "DOS", an abbreviation for disc operating systems. Operating systems with a graphical user interface (GUI) in different iterations of the graphical Microsoft Windows...

5 minutes read.

Partitioning Algorithms

Partitioning Algorithms There are various types of Partitioning Algorithm: First-Fit AlgorithmNext-Fit AlgorithmBest-Fit AlgorithmWorst-Fit AlgorithmQuick-Fit Algorithm 1. First-Fit Algorithm: - In the First-Fit Partitioning algorithm, first, the linked list is scan, and when it...

3 minutes read.

Advantages of Operating System

What is an Operating System?   An operating system is an interface that helps to communicate with the user and the computer hardware. Operating systems are used for file management, memory...

3 minutes read.

Operating System Tutorial

What is an Operating System? An Operating System is a System Software that handles the resources of a computer such as computer hardware and software and offers frequent services to the...

7 minutes read.

Types of Operating System

There are various types of operating system: Simple Batch Operating SystemMultiprogramming batch Operating SystemTime-sharing Operating SystemMultiprocessor Operating SystemDistributed Operating SystemNetwork Operating SystemReal-time Operating SystemMobile Operating System Simple Batch operating system In the simple batch operating system, there is no direct communication between...

6 minutes read.

File in Operating System

What is File in Operating System?  A file is defined as a collection of the interrelated information that is stored in the secondary memory or the non-volatile memory such as optical...

4 minutes read.

CPU Scheduling in OS

What is Scheduling? Scheduling is the process that is used to share the computing resources such as memory, processor time, and bandwidth to the different processes, data flows, threads, and applications that need...

5 minutes read.

Difference between C-LOOK and C-SCAN Disk Scheduling Algorithm

Disk scheduling is used by operating systems to arrange the arrival of I/O requests to the disc. I/O scheduling is another name for disc scheduling. Disk scheduling is necessary because...

4 minutes read.

Contiguous Memory Allocation in Operating System

Memory is a place where data, facts, figures, and information are stored for temporary or permanent access the data in future, which is also considered as the storage place. Allocation of...

4 minutes read.

Ubuntu Operating System

Ubuntu Operating System Ubuntu is an open-source and a Linux based operating system. Ubuntu is developed for the Network Servers, Computers, and Smartphones. The Ubuntu operating system was developed by Canonical...

3 minutes read.

File Allocation Methods in Operating System

A file allocation method is a way that an operating system stores and retrieves files on a storage device, such as a hard drive or SSD. The file allocation method...

4 minutes read.

Simple Structure in Operating System

An operating system is a piece of software that lets the user applications talk to the hardware of the system. Because it is such a complicated structure, the operating system...

3 minutes read.