Deadlock Avoidance in OS | Deadlock Avoidance Algorithm in OS with Example

Deadlock Avoidance in OS | Deadlock Avoidance Algorithm in OS with Example

Deadlock Avoidance is a process that is going to use by operating system to check whether the system is existing in a safe mode or in an unsafe mode. Therefore, now we are going to explain all possible things about deadlock avoidance in OS (Operating System) and deadlock avoidance algorithm in OS with ease. After reading this article, you will definitely educate about what is deadlock avoidance in OS without any hassle.

What is Deadlock Avoidance in OS?

DefinitionDeadlock avoidance is the mostly used by several types of operating systems, but it is used mainly for end users. This concept is more comfortable for single user system because they use their system for simply browsing as well as other simple activities.  

Deadlock avoidance technique (method) helps to avoid deadlock to occur in the system. So, Wait for Graph technique is used for deadlock avoidance.

Wait for Graph Technique

Wait for Graph’s concept is used in the deadlock avoidance, but it can’t bear the large database, it is designed mainly for small databases.

Wait for graph

In the Wait for Graph,  to create the relationship in the among of resources and transactions. If, any time transaction is needed of resources then it fires the request for those resources, but that same time those resources are already hold by other transactions. Then they are persisted at the one edge on the Wait for Graph. So, If Wait for Graph is converted into cycle form then deadlock is happened into system, otherwise it is not persisted into system.

Safe State 

Whenever process fires the requests for available resource, then system must have to decide that if immediate allocations free the system in safe state.

System is in safe state if there exists a sequence <P1, P2, …, Pn> of ALL the processes in the systems such that for each Pi, the resources that Pi can still request can be satisfied by currently available resources + resources held by all the Pj, with j < I

Then is –

  • If, Pi resource does not require immediately available, then Pi have to wait until completely Pj have been finished.
  • Whenever Pj is getting ending, then Pi can receive required resources, execute, return allocated resources, and terminate.
  • If Pi terminates, then Pi+1 can get its required resources, and so on.

Primary Facts –

  • If system is getting in the safe state, then does not happen deadlock
  • If system is getting in the unsafe state, then may be occur deadlock
  • If ensure that system will never going to enter an unsafe state, then Avoidance is getting.

Deadlock Avoidance can be solved by two different algorithms, such as

  • One instance of a resources type – To use a Resource Allocation Graph
  • Several instance of a resources type – To use Banker’s Algorithm

Resource Allocation Graph

In the Resource Allocation Graph, to represent of all states of system in the graphically form. Resource Allocation Graph contains the whole information related to all processes those are hold by few resources otherwise getting to wait for some resources.

Example 
resource allocation graph

Vertices have two varieties, Resource and Process. Every vertices is shown by different shape, such as Circle represents a process, and other side rectangle represents a resources.

Resources may be containing the multiple instances, and every instance will be represented by a dot inside the rectangle.

Banker’s Algorithm

Banker’s Algorithm is used to resource allocation and deadlock avoidance that determine to safety by simulating the allocation for predetermined maximum possible amounts of all resources, then makes an “s-state” check to test for possible activities, before deciding whether allocation should be allowed to continue.

Banker’s Algorithm is named because it is implemented in the banking sector, and main objective of using this algorithm is to check that loan can be sanctioned or not to clients.

FAQs (Frequently Asked Questions)

What is meant by deadlock avoidance in distributed system?

Deadlock Avoidance is a method that is used by the operating system to avoid the deadlock problem.

What is deadlock avoidance in OS with example?

Deadlock Avoidance is a process that is going to use by operating system to check whether the system is existing in a safe mode or in an unsafe mode.

What is difference between deadlock prevention and avoidance?

The deadlock prevention makes ensure that at least one of necessary conditions to cause a deadlock will never happen; but deadlock avoidance make ensures that system will not enter an unsafe state.

Which is deadlock avoidance algorithm in OS?

The Banker’s algorithm is a resource allocation and deadlock avoidance algorithm that is introduced by Edsger Dijkstra. It helps to prevent the single thread from entering the similar lock more than once.

The Bottom Words

Now, I make ensure that you have been fully understood about deadlock avoidance in OS (Operating System) and deadlock avoidance algorithm in OS with ease. If this article is helpful for you, then please share it along with your friends, family members or relatives over social media platforms like as Facebook, Instagram, Linked In, Twitter, and more.

Also Read: Deadlock Prevention in Operating System!!

If you have any experience, tips, tricks, or query regarding this issue? You can drop a comment!

Happy Learning!!

Leave a Reply

Your email address will not be published.