The Gateway to Computer Science Excellence
First time here? Checkout the FAQ!
+17 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$
asked in Operating System by Veteran (59.8k points)
edited by | 5.2k views

6 Answers

+14 votes
Best answer

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. 

answered by (187 points)
edited by
+18 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.
answered by Boss (34.1k points)
+9 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 ..
answered by Veteran (73.1k points)
edited by
+6 votes

Minimum resourses by which deadlock will not happened will be 4


Max resourses by which deadlock happen is like




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

answered by Loyal (9.6k points)
0 votes
Let use the formulae,

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



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

answered by Active (1.8k points)
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.

answered by Boss (23.2k points)

Related questions

Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true

47,241 questions
51,468 answers
66,754 users