A deadlock is a condition where more than one process is blocked because it is going to hold a resource and also needs few resources that are required by some other process. So, here we will defined about what is deadlock in OS and its examples; as well as many deadlock handling methods in operating system with ease. This is unique post over the internet. At the end of this article, you will fully aware about Deadlock in Operating system without any issue.
What is Deadlock?
Definition: Deadlock is a condition that is created in operation system when one process is holding some resources for making their execution but same resources are hold by another process, then this condition is known as “Deadlock“. Mostly, deadlock problem is arisen in multi processing system because in which multiple processes try to share particular mutually exclusive resource.
In the Mutual Exclusion, one resource is assigned by single process at same time; if other process is needed to same allotted resources then it has to required wait to occupy for those resources. So, Mutual Exclusion can’t be broken for process because in practically, single resource can conduct the task of one process at once. For instance – Multiple users can’t fire commands to print document at same time.
Hold and Wait
This condition is occurred, if one process holds few resources and it has to wait for further resources which are already held by another waiting process.
No Preemption
In which one process cannot take the resources of other processes by force. But if we find some resources that are causing a system deadlock, then we can stop that resource from holding that resource.
Circular Wait
If, first process is waiting for such resource that is held by second process, and this process is again waiting for such resource which are held by third process and so on. Then we can say that Circular wait’s condition is occurred.
Deadlock Handling Techniques
There are five different deadlock handling methods, and with using them deadlock problems can be avoided in operating system. Here, explain each one –
Deadlock Prevention
It is very necessary to prevent deadlock in operating system before it can happen. So, system identify every transaction before getting its execution, and ensures it doesn’t get to deadlock problem. If, that time any transaction may occur deadlock issue, then it can’t get to execute its instructions.
Deadlock avoidance technique helps to avoid deadlock to occur in the system. Deadlock 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 Detection and Recovery
In this technique, CPU has ability to guess few criteria, if deadlock will be occurred in the entire system. Then, CPU will precede few recovery techniques to resolve the deadlock problem, and CPU frequently identify to all deadlock issues. CPU applies the Resource Allocation Graphs concept to detect the deadlock in the entire system.
In recovery scenario, CPU gets forcefully resources assigned to few processes, and those resources can also supply to another process but that process must be high level priority.
Deadlock Ignorance
In the deadlock ignorance technique, CPU always alerts to identify for various deadlock that are happened in the system, and we ignore them. If, any time deadlock is occurred during the execution of any instructions then system is required to restart the entire system, same time our data will be lost.
Some operating system such as Windows, UNIX, and Linux are designed to deliver best performance. But, their performance is getting to degrade while using deadlock handling techniques.
Ostrich Algorithm
In the Ostrich Algorithm, we will simply ignore deadlock problems, and it is assumed that it will not come again this problem. This technique is implemented because some time the cost of deadlock handling is more expensive compare to simple ignoring them. If, some time deadlock is happened by chance then entire system will be rebooted.
Deadlock Example in OS
Road Traffic is an real life example of deadlock. Explain here:
When deadlock arises, then this problem can be solved, if one car is getting backs up (Preempt resources and rollback).
Deadlock issue is happened, if multiple cars are getting to backed up.
So, now starvation is easily getting on.
Difference Between Deadlock and Starvation
Here, few difference in between the Deadlock and Starvation in operating system
DEADLOCK
If anyone process is getting block, then we can say that deadlock is happening.
Deadlock works as a infinite process, because it is not capable to long wait process.
Deadlock is capable to contain the starvation.
Deadlock is occurred when anyone condition is happened in the among of these Coffman Conditions (Mutual exclusion, hold and wait, preemption and circular wait).
STARVATION
Low priority processes are getting block, but high priority processes are executed. Then Starvation is occurred.
Starvation does not work as infinite process, but it can be long waiting process.
But all starvation does not need to have deadlock.
If, priority and resource management is getting the uncontrollable then, Starvation is happened.
FAQs (Frequently Asked Questions)
What is deadlock in Operating System and its types?
A deadlock is a condition where more than one process is blocked because it is going to hold a resource and also needs few resources that are required by some other process. There are the four types of situations to happen are mutual exclusion, hold and wait no pre-emption and circular set.
What causes a deadlock in OS?
Deadlock occurs when a set of processes are in the waiting state, because every process is going to wait for a resource that is acquired by some other waiting process.
What is best example of a deadlock in real life?
Traffic gridlock is an everyday example of a deadlock situation
What are the different types of deadlock in OS?
There are two kinds of deadlock in operating system like as:
Resource Deadlock: This deadlock will be occurred when processes are getting to try get exclusive access to devices, files, locks, servers, or other resources.
Communication Deadlock: It is also called OR model. This deadlock occurs when process A is trying to send a message to process B, which is trying to send a message to process C which is trying to send a message to A.
What are 4 conditions required for deadlock to occur?
Four mandatory conditions are required to occur deadlock situation like as mutual exclusion, hold and wait, no pre-emption and circular set.
Which is not the necessary condition for deadlock to occur?
The mutual conclusion is not a mandatory condition for a deadlock to hold in a system.
What are deadlock handling methods in operating system?
There are different deadlock handling techniques like as Deadlock Prevention, Deadlock Avoidance, Deadlock Detection and Recovery, Deadlock Ignorance, and Ostrich Algorithm.
How to define deadlock in OS with example?
In this article, already we have been defined deadlock in operating system along with an suitable examples; you can check it.
Wrapping Up
Through this post, you have been fully educated what is deadlock in OS and its examples; as well as many deadlock handling methods in operating system with ease. If this article is useful 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.