562 views
0 votes
0 votes
Two processes, $A$ and $B,$ each need three records, $1, 2,$ and $3,$ in a database. If $A$ asks for them in the order $1, 2, 3,$ and $B$ asks for them in the same order, deadlock is not possible. However, if $B$ asks for them in the order $3, 2, 1,$ then deadlock is possible. With three resources, there are $3!$ or six possible combinations in which each process can request them. What fraction of all the combinations is guaranteed to be deadlock free?

1 Answer

0 votes
0 votes

Let the resources 

$(R1,R2,R3)=(1,2,3)$

Suppose A requests the resources in the order $(1,2,3)$

and B can request the resources in any order ${(1,2,3)(1,3,2)(2,1,3)(2,3,1)(3,1,2)(3,1,2)}$

When Deadlock May Occur ?

  • $A=(1,2,3) ; B=(2,1,3)$
  • $A=(1,2,3); B=(2,3,1)$
  • $A=(1,2,3) ; B=(3,1,2)$
  • $A=(1,2,3) ; B=(3,2,1)$

When there is NO possibility of Deadlock ?

  • $A=(1,2,3); B=(1,2,3)$
  • $A=(1,2,3); B=(1,3,2)$

Hence, for 6 possible combinations for $A=(1,2,3)$ , only 2 combinations are there which can never lead to Deadlock.

Source: https://gateoverflow.in/89309/consider-two-processes-p-and-q-each-need-three-records

Related questions

0 votes
0 votes
1 answer
3