1.3.2 (B)

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 10

Lecture 10

Deadlock Handling

Er. Divya Verma


Assistant Professor

1
2
Deadlock Prevention
• This strategy involves designing a system that violates one of the four necessary
conditions required for the occurrence of deadlock.
• This ensures that the system remains free from the deadlock.
• The various conditions of deadlock occurrence may be violated as-

1. Mutual Exclusion-

• To violate this condition, all the system resources must be such that they can be used in a
shareable mode.
• In a system, there are always some resources which are mutually exclusive by nature.
• So, this condition can not be violated.

3
Deadlock Prevention
2. Hold and Wait-
• This condition can be violated in the following ways-
Approach-01: In this approach,
• A process has to first request for all the resources it requires for execution.
• Once it has acquired all the resources, only then it can start its execution.
• This approach ensures that the process does not hold some resources and wait for other
resources.
Drawbacks-
• The drawbacks of this approach are-
• It is less efficient.
• It is not implementable since it is not possible to predict in advance which resources will
be required during execution.
4
Deadlock Prevention
Approach-02:
• In this approach, a process is allowed to acquire the resources it desires at the current
moment.
• After acquiring the resources, it start its execution.
• Now before making any new request, it has to compulsorily release all the resources that
it holds currently.
• This approach is efficient and implementable.
Approach-03:
• In this approach,
• A timer is set after the process acquires any resource.
• After the timer expires, a process has to compulsorily release the resource.

5
Deadlock Prevention

3. No Preemption-
• This condition can by violated by forceful preemption.
• Consider a process is holding some resources and request other resources that can not be immediately
allocated to it.
• Then, by forcefully preempting the currently held resources, the condition can be violated.
• A process is allowed to forcefully preempt the resources possessed by some other process only if-
• It is a high priority process or a system process.
• The victim process is in the waiting state.

6
Deadlock Prevention
4. Circular Wait-
• This condition can be violated by not allowing the processes to wait for resources in a cyclic manner.
• To violate this condition, the following approach is followed-
Approach-
• A natural number is assigned to every resource.
• Each process is allowed to request for the resources either in only increasing or only decreasing order of the resource
number.
• In case increasing order is followed, if a process requires a lesser number resource, then it must release all the
resources having larger number and vice versa.
• This approach is the most practical approach and implementable.
• However, this approach may cause starvation but will never lead to deadlock.

7
Deadlock Avoidance
This strategy involves maintaining a set of data using which a decision is made
whether to entertain the new request or not.
If entertaining the new request causes the system to move in an unsafe state, then it
is discarded.
This strategy requires that every process declares its maximum requirement of each
resource type in the beginning.
The main challenge with this approach is predicting the requirement of the processes
before execution.
Banker’s Algorithm is an example of a deadlock avoidance strategy.

8
Conclusion

This lecture enables the students to understand need of deadlock prevention,


deadlock avoidance and various deadlock prevention techniques used.

9
References
https://www.includehelp.com/c-programming-questions/

https://www.studytonight.com/operating-system/

https://computing.llnl.gov/tutorials/

https://www.tutorialspoint.com/operating_system/index.htm#:~:text=An%20operating%20system%20(OS)%20is,software%20in%20a%
20computer%20system.

https://www.javatpoint.com/os-tutorial

https://www.guru99.com/operating-system-tutorial.html
https://www.geeksforgeeks.org/operating-systems/

You might also like