4,913 views
12 votes
12 votes
Is is true that...If there is deadlock then system can not progress?

1 Answer

Best answer
16 votes
16 votes

If u look at the definition of progress , quoted from Galvin , it says :

If no process is executing in its critical section and some
processes wish to enter their critical sections, then only those processes
that are not executing in their remainder sections can participate in
deciding which will enter its critical section next, and this selection cannot
be postponed indefinitely.
 

So this at least one of the process willing to go into critical section  should be allowed to do so provided the critical section is empty at that instant..

Also we know deadlock is the scenario where all processes will get blocked and hence unable to go into the critical section..So it violates the progress condition required fr proper synchronisation construct..

So 

Deadlock  ==> Progress Violation

But converse is not necessarily true..

By converse I mean some specific process is not allowed to enter into CS even though it is empty , thus violating the progress condition..But the other process may go into CS as in the case of Dekker's Algorithm..Thus it is not deadlock..

selected by

Related questions

0 votes
0 votes
1 answer
3