×

Deadlock Avoidance

Deadlock Avoidance

In an operating system, for deadlock avoidance, we perform the following:

  • We only grant the request of the resources if the resulting state of the system will not cause any deadlock in the system.
  • We continuously check the state of the system, whether the system state is safe or unsafe.
  • It is a must that the process informs the operating system about the maximum resources it needs to finish its execution.
  • In the deadlock avoidance algorithm, we check the allocation of the resources to prevent from circular wait condition.
  • Even we can define the resource allocation state of the system with the help of the instances of the allocated resources to a process, available resources, and the maximum instance of the resources requested by the process to finish its execution.

The below table showed the state of a system that is recorded at a random time.

Resources Assigned

   Process  Type 1  Type 2   Type 3   Type 4
    A      0     1     4       1
    B      1     1     2       0
     C      2     0     1       0
    D      3     0     1       2

Resources Still Needed

   Process    Type 1   Type 2   Type 3   Type 4
       A       1      1       0        0
      B       0      1       1        2
       C       1      2       1        0
      D       2      1       1        2

I = (8 7 9 5)

J = (6 2 8 3)

K = (2 5 1 2)

In the above tables, we have used vector I, J, and K that define the resource allocation state of the system. The three vectors I, J, and K where:

‘I’ is used to determine the total instances of each resource in the system.

‘J’ is used to represent the instance of resources which we assigned to the processes.

'K' is used to determine the number of resources that are not in use.

In the system, we have four processes and four kinds of systems. Here, Table 1 contains the instances of each resource that are assigned to the processes, and Table 2 contains the resources which the processes still need.

Thus, when a system allocates all the requested resources to the processes without any deadlock occurrence, that system state is called a Safe State. When the system does not complete the resource request of the process, then we called it an Unsafe State.  

So, the key to deadlock avoidance is that if a process requests for any resource, then the request should be approved only if the resulting state is in a safe state.


Related Topics

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.

Paging and Segmentation in OS

What is Paging in OS? Paging is a storage technique used for memory management. In paging, the (OS) Operating System retrieves the processes from the secondary memory into the main memory,...

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

Non-Contiguous Memory Allocation in Operating System

Memory is nothing but a storage space where various data are stored. We can store data in temporary and permanent memory as per our future requirements for data. We can...

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

Difference between Multi-programming and Multitasking

Difference between Multiprogramming and Multitasking         Multiprogramming  Multitasking In Multiprogramming, at the same time, we can run the multiple processes concurrently on one...

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.

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.

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.

What is Scheduling on OS

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

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.

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.

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.

Swapping in Operating System

Swapping in operating systems refers to temporarily transferring a program or process from main memory to a secondary storage device, such as a hard drive or solid-state drive when there...

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

Strategies for Handling Deadlock

Strategies for Handling Deadlock The Strategies for handling Deadlock are: Deadlock IgnoranceDeadlock PreventionDeadlock AvoidanceDeadlock Detection and Recovery Deadlock Ignorance Deadlock Ignorance is the most popular deadlock handling strategy. We can use this in the various operating systems for...

2 minutes read.

Distributed Shared Memory

Distributed Shared Memory is a process of managing memory over more than one node and makes inter-process communication which transfers to end users. It is a mechanism that allows user...

2 minutes read.

Dining Philosophers Problem in Operating System

Edsger Wybe Dijkstra was a well-known Dutch scientist. He was the first person ever to present the Dining Philosophers Problem in the stream of Computer Science. The dining philosophers problem...

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

What is Deadlock in OS?

Deadlock in Operating System In an Operating System, a process uses various resources, and the resources are used in the following manner: Request the ResourceUse the ResourceRelease the Resource In the Operating System, Deadlock is a condition...

4 minutes read.