edited by
22,108 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.
edited by

2 Answers

Best answer
41 votes
41 votes

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
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

35 votes
35 votes
5 answers
4