edited by
23,127 views
30 30 votes

An operating system contains $3$ user processes each requiring $2$ units of resource $R$. The minimum number of units of $R$ such that no deadlocks will ever arise is

  1. $3$
  2. $5$
  3. $4$
  4. $6$

7 Answers

Best answer
26 26 votes

If we have $X$ number of resources where $X$ is sum of $r_i-1$ where $r_i$ is the resource requirement of process $i$, we might have a deadlock. But if we have one more resource, then as per Pigeonhole principle, one of the process must complete and this can eventually lead to all processes completing and thus no deadlock. 

Here, $n = 3$ and $r_i = 2$ for all $i$. So, in order to avoid deadlock minimum no. of resources required

$=\displaystyle{\sum_{i=1}^{3}} (2-1) + 1 = 3 + 1 = 4.$

PS: Note the minimum word, any higher number will also cause no deadlock. 

Correct Answer: $C$

edited by
19 19 votes
Answer: C

(a) 1-1-1 allocation of resources can cause a deadlock.

(c) 2-1-1 is the general resource allocation which will never cause a deadlock as the process getting 2 resources will release its resources after its task is over.
12 12 votes
For a system to be deadlock free ,

Sum of max need of processes < No. of processes + No. of resources

Given , 3 user processes each requiring 2 units of resource , so max need of processes = 3 *2 = 6 .

Number of process = 3 , Number of resources = R

so 6 < 3 + R

=> 3 < R

so R must be 4 to be Not in deadlock( minimum value ) . Any value more than 4 is maximum value ..
edited by
6 6 votes

Minimum resourses by which deadlock will not happened will be 4

Explanation::

Max resourses by which deadlock happen is like

P1=1

P2=1

P3=1

So  Max resourses by which deadlock happen is =3 so minimum number of resourses by which deadlock did not happen=4

0 0 votes
Let use the formulae,

n*k - (n - 1)  or   (Total Number Process * Total Number of Resource ) - (Total Process -1 )

 

then,

= 3*2 - (3 - 2)

= 4

 

For Example : There are 8 process and each require 2 resources to complete the task. So the Minimum number of resource which guarantee the dead lock free is 10

=8*2 -(8-2)

=10
0 0 votes

Step(1)Create circular wait of processes where each process in the set is waiting for other to complete. How this is done is, give each process exactly 1 less the maximum number of resource it demands.

$P_1$ $P_2$ $P_3$
1 1 1

Now every process in the set is holding and waiting and the circular wait is created. Deadlock!!

Step (2). Now give one extra resource, so that any one process is able to complete, hence circular wait is broken.!

so 3+1=4 resources required to never fall into a deadlock

and Maximum 3 resources can be there for the deadlock to happen.

Answer:
Position:
Show:

Related questions

53 53 votes
6 answers 6 answers
13.4k
13.4k views
go_editor asked Oct 14, 2015
13,365 views
An operating system handles requests to resources as follows.A process (which asks for some resources, uses them for some time and then exits the system) is assigned a un...
76 76 votes
15 answers 15 answers
42.0k
42.0k views
Kathleen asked Sep 29, 2014
42,031 views
Each Process $P_i, i = 1\ldots 9$ is coded as followsrepeat P(mutex) {Critical section} V(mutex) foreverThe code for $P_{10}$ is identical except it uses V(mutex) in plac...
39 39 votes
4 answers 4 answers
9.6k
9.6k views
Kathleen asked Sep 29, 2014
9,575 views
The correct matching for the following pairs is:$$\small \begin{array}{|cl|cl|}\hline \text{(A)} &\text{Disk Scheduling} & \text{(1)} &\text{Round robin} \\\hline \tex...
44 44 votes
3 answers 3 answers
12.9k
12.9k views
Kathleen asked Sep 29, 2014
12,903 views
I/O redirectionimplies changing the name of a filecan be employed to use an existing file as input file for a programimplies connecting $2$ programs through a pipeNone of...