in Operating System edited by
22,116 views
30 votes
30 votes

Which of the following is not a valid deadlock prevention scheme?

  1. Release all resources before requesting a new resource.
  2. Number the resources uniquely and never request a lower numbered resource than the last one requested.
  3. Never request a resource after releasing any resource.
  4. Request and all required resources be allocated before execution.
in Operating System edited by
22.1k views

2 Answers

41 votes
41 votes
Best answer

The answer is (C).

  1. is valid. Which dissatisfies Hold and Wait but ends up in starvation.
  2. is valid. Which is used to dissatisfy circular wait.
  3. is invalid.
  4. is valid and is used to dissatisfy Hold and Wait.
edited by

4 Comments

 you are right but if we are only considering increasing order then also it is valid as deadlock prevention scheme.

0
0
Mk Utkarsh  yes you are right
0
0
d is valid because it is more like Conservative 2PL, which is very popular in deadlock prevention.
0
0
2 votes
2 votes
Option A is valid, it will help to violate hold and wait condition. Whenever you request a new resource you release all the previously acquired resources.

Option B is Valid, it is the standard method used for removing circular wait.

Option D is valid, it will also remove Hold and Wait condition.

Hence, option C is the invalid option. And it is invalid also because if you release the resource, some or the other process will be able acquire it and complete execution. Hence, the process can request for a new resource without causing deadlock.
Answer:

Related questions