×

Turn Variable or Strict Alternative Approach

Turn Variable or Strict Alternative Approach

Turn Variable Approach is used for process synchronization mechanism, which offers synchronization between two processes.

Turn variable is implemented on user mode, and it is a software mechanism. We can only use Turn variable or strict alteration approach on two processes, and it is a busy waiting solution.

We can understand the concept of Turn Variable with the help of the following example. Suppose we have two processes Pa and Pb, which share a variable named Turn Variable.

 The below section gives the pseudocode of the program for two processes are:

Strict Alternative Approach

Strict Alternative Approach

The problem which arises in the lock variable mechanism is that if the value of the lock variable is 1, then in this condition, the process enters into the critical section. At the same time, more than one process can see the value of lock variable 1. That's why mutual exclusion is not given in the lock variable mechanism.

We can solve this problem with the help of turn variable approach. The approach is that if the turn variable value is equivalent to the process PID then the process can enter into the critical section.

The value of the turn variable is either ‘a’ or ‘b’. If the turn variable value is not 'a', then the value of the turn variable will be ‘b’ and vice versa.

In the entry section, there is a condition that ‘Pa’Process cannot enter in the critical section till the value of the process is 'b', or we can say that until the value of the process ‘Pb’ is'a'. It cannot be entered into the critical section.

Now we have two processes, ‘Pa’ and ‘Pb’, and both the processes, which are ‘Pa’, and ‘Pb’ need to execute in the critical section.

Strict Alternative Approach

The process ‘Pa’ gets the opportunity to enter into the critical section because the value of the turn variable is equal to ‘a’.

Strict Alternative Approach

The value of Process ‘Pa’ will be 'a' till the process ‘Pa’ completes its execution in the critical section. When the process ‘Pa’ completes its execution in the critical section, then we assign the value ‘b’ to the turn variable.

Now the value of turn variable is 'b'. So, the process ‘Pb’ will enter into the critical section. The turn variable value will be ‘b’ till the process ‘Pb’ completes its execution in the critical section.

Strict Alternative Approach

Analysis of Turn Variable or Strict Alteration Approach

Now based, on four requirements, we analyze turn variable or strict alteration approach:

  1. Mutual Exclusion: - In every case, the Turn Variable approach offers Mutual exclusion. The turn variable or strict alteration approach is only applicable to two processes. In this, if the turn variable is equivalent to the Process ID, then the process enters into the critical section. Otherwise, no process will enter into the critical section.
  2. Progress: - In Progress, if a process ‘Pa’ doesn't want to enter in the critical section at its turn, there may be a chance that another process, which is ‘Pb’ gets blocked for a long time. That's why the approach of turn variable does not guarantee Progress.
  3. Portability: - Turn Variable or strict variable approach is implemented on the user mode, and it is a software mechanism. In turn variable, the operating system does not give any special instructions.
Strict Alternative Approach

Related Topics

Deadlock Detection and Recovery

Deadlock Detection and Recovery In deadlock detection and recovery, to avoid or prevent a deadlock, the operating system uses various methods. For checking deadlock, an operating system continuously monitors the system. Then also,...

2 minutes read.

Trap vs Interrupt in Operating System

What is Trap in Operating System? A trap is a synchronous interrupt used to perform functionality when an error occurs in a user process. A trap in an operating system can...

4 minutes read.

Kernel in OS

What is Kernel in OS? The kernel is the core component in the operating system. The job of the kernel is to handle the communication between the hardware and the software. ...

2 minutes read.

Process Schedulers and Process Queue in OS

Process Schedulers There are various types of Process Schedulers: Long Term SchedulerShort Term SchedulerMedium Term Scheduler                                            Long Term Scheduler: - Long term scheduler is also referred to as Job Scheduler. The task of the Long-term...

3 minutes read.

What is Demand Paging?

Demand Paging is defined as a process in which the pages are loaded into the memory (when the page fault occurs) or on-demand. It consists of the following steps: If there is...

4 minutes read.

Functions of Operating System

The functions of Operating System are: Process Management Memory Management File Management Device Management Secondary storage Management Security Coordination between other software and users Networking Job Accounting Error detecting aids 1. Process Management Process Management support operating system to create and delete...

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.

Banker’s Algorithm in Operating System

What is Banker’s Algorithm? Bankers algorithm is an algorithm which is used for deadlock avoidance and resource allocation. It was established by Edsger Dijkstra. The reason behind the name ‘banker’s algorithm’...

8 minutes read.

Difference between Process and Program in the Operating System

What is a process in the Operating System? A process is a program that is going through the execution. It also helps us to execute all the lines of code in...

4 minutes read.

Linux Operating System

What is Linux? The Linux operating system is used on various devices, including cellphones, automobiles, supercomputers, household gadgets, personal computers, and business servers. You can find Linux on your phones, thermostats, vehicles,...

8 minutes read.

Evolution of Operating System

Evolution of Operating System The evolution of various types of operating systems can be briefly described as follows: Serial Processing Since 1950, the operating system started to be in use. Before 1950, there...

5 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.

Single-User Operating System

An operating system designed and intended to be used on a computer or device with a single user at a time is known as a single-user operating system. Devices like...

8 minutes read.

Booting Process in Operating System

What is Booting? Booting is defined as the term which says that the process of loading the operating system into the memory. The process of booting begins when we switch on...

4 minutes read.

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...

3 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.

HRRN Scheduling in OS

Highest Response Ratio Next (HRRN) Scheduling in OS Highest Response Ratio Next Scheduling is a Non-Preemptive Scheduling algorithm. This algorithm provides the benefits of the shortest job first scheduling algorithm and also removes...

6 minutes read.

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.

Multitasking Operating Systems

An operating system is the fundamental piece of software that enables a computer system to function and execute a command as intended. The user interface, hardware, and every other piece...

7 minutes read.

Commercial Mobile Operating Systems

Introduction to Commercial Mobile Operating Systems A computer program's common services are managed by an operating system (OS), which also handles computer hardware and software resources. The user can communicate with...

7 minutes read.