Answers

Question and Answer:

  Home  Software Development Kit (SDK)

⟩ What is the difference among deadlock avoidance, detection and prevention?

revention:

• The goal is to ensure that at least one of the

necessary conditions for deadlock can never hold.

• Deadlock prevention is often impossible to

implement.

• The system doesnot require additional apriori

information regarding the overall potential use of each

resource for each process.

• In order for the system to prevent the deadlock

condition it does not need to know all the details of all

resources in existence, available and requested.

• Deadlock prevention techniques include non-blocking

synchronization algorithms, serializing tokens, Dijkstras

algorithm etc.

• Resource allocation strategy for deadlock

prevention is conservative, it under commits the resources.

• All resources are requested at once.

• In some cases preempts more than often necessary.

Avoidance:

• The goal for deadlock avoidance is to the system

must not enter an unsafe state.

• Deadlock avoidance is often impossible to

implement.

• The system requires additional apriori information

regarding the overall potential use of each resource for

each process.

• In order for the system to be able to figure out

whether the next state will be safe or unsafe, it must know

in advance at any time the number and type of all resources

in existence, available, and requested.

• Deadlock avoidance techniques include Banker’s

algorithm, Wait/Die, Wound/Wait etc.

• Resource allocation strategy for deadlock avoidance

selects midway between that of detection and prevention.

• Needs to be manipulated until atleast one safe path

is found.

• There is no preemption.

Detection:

• The goal is to detect the deadlock after it occurs

or before it occurs.

• Detecting the possibility of a deadlock before it

occurs is much more difficult and is, in fact, generally

undecidable. However, in specific environments, using

specific means of locking resources, deadlock detection may

be decidable.

• The system doesnot requires additional apriori

information regarding the overall potential use of each

resource for each process in all cases.

• In order for the system to detect the deadlock

condition it does not need to know all the details of all

resources in existence, available and requested.

• A deadlock detection technique includes, but is not

limited to, Model checking. This approach constructs a

Finite State-model on which it performs a progress analysis

and finds all possible terminal sets in the model.

• Resource allocation strategy for deadlock detection

is very liberal. Resources are granted as requested.

• Needs to be invoked periodically to test for

deadlock.

• Preemption is seen.

 129 views

More Questions for you: