search
Log In
0 votes
60 views
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?
in Operating System 60 views

1 Answer

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 answers
2
37 views
Main memory units are preempted in swapping and virtual memory systems. The processor is preempted in time-sharing environments. Do you think that these preemption methods were developed to handle resource deadlock or for other purposes? How high is their overhead?
asked Oct 30, 2019 in Operating System Lakshman Patel RJIT 37 views
0 votes
1 answer
3
53 views
One way to prevent deadlocks is to eliminate the hold-and-wait condition. In the text it was proposed that before asking for a new resource, a process must first release whatever resources it already holds (assuming that is possible). However, doing so introduces ... that it may get the new resource but lose some of the existing ones to competing processes. Propose an improvement to this scheme.
asked Oct 30, 2019 in Operating System Lakshman Patel RJIT 53 views
0 votes
1 answer
4
61 views
In an electronic funds transfer system, there are hundreds of identical processes that work as follows. Each process reads an input line specifying an amount of money, the account to be credited, and the account to be debited. Then it locks both accounts and transfers ... . (In other words, solutions that lock one account and then release it immediately if the other is locked are not allowed.)
asked Oct 30, 2019 in Operating System Lakshman Patel RJIT 61 views
...