×

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.

Need of Operating System

There are various needs of operating system: Managing Input-Output UnitThe Operating system as a platform for application programsMultitaskingConsistent user interface Managing Input-Output Unit: - With the help of the operating system, the...

2 minutes read.

Advantages of UNIX Operating System

What is UNIX OS? UNIX is a family of multitasking, multiuser operating systems that are used on a wide variety of computer platforms. It was developed in the late 1960s and...

4 minutes read.

Difference between SCAN and FCFS Disk Scheduling Algorithm

SCAN / Elevator Algorithm A different form of disc scheduling method is the SCAN disc scheduling algorithm. We move the disc arm in a certain direction in this process (the direction...

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

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.

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.

Real-time Operating System

In this essay, we will thoroughly understand the real-time operating system. Real-Time Operating System: What do you mean? For any task to be completed, a real-time operating system (RTOS), a special-purpose operating...

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

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.

DOS Operating System

What is DOS Operating System? An operating system that runs from a hard disk drive is known as the DOS (Disk Operating System).In other words, DOS (Disk Operating System) is defined...

7 minutes read.

Deadlock Prevention in Operating System

Deadlock Prevention The conditions which we used for deadlock prevention are: Mutual ExclusionHold and WaitNo PreemptionCircular Wait 1. Mutual Exclusion: - From the resource point of view, the mutual exclusion means that simultaneously more...

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.

Scheduling Algorithms in OS

There are various types of scheduling algorithm which are used by the operating system to schedule the process on the processor. Objective of Scheduling Algorithms There are the following objectives of Scheduling Algorithms: Fare allocation...

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

File Access Methods in Operating System

File Access Methods in OS There are various types of file access methods in the operating system: Sequential Access MethodDirect Access MethodIndex Sequential Access Method Sequential Access Method: - Sequential Access Method is...

3 minutes read.

Resource Allocation Graph in Operating System

Resource Allocation Graph in OS We use the resource allocation graph for the pictographic representation of the state of a system. The resource allocation graph contains all the information related to the processes that...

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

Interested Variable Mechanism

Interested Variable Mechanism It is a must to provide progress to the process synchronization mechanism. In variable mechanism, if there is a process that doesn’t need to enter into the critical section, then due...

5 minutes read.

Operating System Services

The Operating System provides various types of services:   I/O operationProgram executionFile system manipulationCommunicationError HandlingResource allocationAccountingProtection 1. I/O Operation: - To execute a program, needs I/O, which consists of a file, or I/O device. Due to the protection...

3 minutes read.