1,109 views
1 votes
1 votes

As Galvin States we have for necessary conditions to have a deadlock as -

1) M.E

2) Hold and wait 

3) No preemption

4) Circular wait.

 

Now, for a deadlock to happen does all four these conditions need to be present/true simultaneously or if at least one of them is true then we can say there's deadlock?

I mean, say, there's no M.E therefore can we straightaway declare there's deadlock without checking for other three conditions?

1 Answer

Best answer
2 votes
2 votes

A deadlock happens only if all the four conditions i.e circular wait, mutual exclusion, no preemption and hold&wait are met simultaneously. 

If we can prevent the happening of either of these four conditions, then deadlock won't happen. 

http://www2.latech.edu/~box/os/ch07.pdf This link has additional details too. 

selected by

Related questions

2 votes
2 votes
1 answer
1
Shubhanshu asked Aug 15, 2017
2,882 views
Q1 What are necessary and what are sufficient conditions for Deadlock?Q2 What is the difference between deadlock preventions, deadlock avoidance, and deadlock detection?
1 votes
1 votes
4 answers
2
Purple asked Jan 29, 2016
7,804 views
Which of the following is not a necessary condition for a deadlock among processes?(a) Shared Resources(b) No Preemption(c) Acyclic condition among processes(d) None of t...
1 votes
1 votes
1 answer
3
Umang Raman asked Oct 19, 2015
2,072 views
Which of the following is not a necessary condition(s) for a deadlock?1.Mutual Exclusion2.Hold and wait3.No pre-emption4.Re-entrancy