The operating system is nothing but the system program which loads into the memory first and then provides the environment for other users program to run their own program. The operating system is not only mean to be for Computer nowadays. It is also widely getting used in mobile. In an earlier post, we have shared different types of OS used in the smart phone. In this post, we talk about the deadlock in the operating system.
Deadlock prevention in Operating system is more preventive and conservative.
If you are not familiar with deadlock in computer science, you must see the post Deadlock in Operating System: Things that You Must Know about It.
We take care of eliminating any of deadlock causing condition:
- 1. Circular wait:
Processes form the cycle of waiting relationship.
- 2. Hold and wait:
Processes hold up resources which they have and w8 on resources they want.
- 3. No Preemption:
Once, a process is in execution it is not preempted.
- 4. Mutual Exclusion:
When a process is executing on a variable no other process can access that variable.
Now for deadlock prevention what we do is don’t let our system to do anyone of this.
In this, we look every single resource request and decide whether to allow that request to process. The action will be taken before occurring deadlock.
Deadlock can be avoided by Bankers Algorithm. It is a resource allocation algorithm developed and designed by Edsger Dijkstra.
Difference Deadlock Prevention Vs Deadlock Avoidance:
Many get confused over Deadlock prevention Vs Deadlock Avoidance in Operating system.
Let’s try to understand it by considering the analogy. It will be easy.
Now take an example of protection from viral through the water. In the scenario like deadlock prevention, we would not let one to drink water. In the scenario of deadlock avoidance, we would first filter out water.
So in clear-cut words, deadlock prevention is more preventive and conservative. Conservative in the way that, it would decrease the power of the system by not allowing mutual exclusion, etc…