The Gateway to Computer Science Excellence
First time here? Checkout the FAQ!
+21 votes

Consider the resource allocation graph in the figure.


  1. Find if the system is in a deadlock state

  2. Otherwise, find a safe sequence

in Operating System by Veteran (52.1k points)
edited by | 2.2k views

2 Answers

+27 votes
Best answer

From the RAG we can make the necessary matrices.

$$\overset{\text{Allocation}}{\begin{array}{|l|l|l|l|}\hline \text{} & r_1 &r_2 & r_3 \\ \hline P_0 & \text{1} & \text{0} & \text{1} \\\hline  P_1 & \text{1} & \text{1} & \text{0} \\\hline  P_2 & \text{0} & \text{1} & \text{0} \\\hline   P_3& \text{0} & \text{1} & \text{0} \\\hline \end{array}}\qquad \overset{\text{Future Need}}{\begin{array}{|l|l|l|l|}\hline \text{} &r_1 & r_2 & r_3 \\ \hline P_0 & \text{0} & \text{1} & \text{1} \\\hline  P_1 & \text{1} & \text{0} & \text{0} \\\hline  P_2 & \text{0} & \text{0} & \text{1} \\\hline  P_3 & \text{1} & \text{2} & \text{0} \\\hline \end{array}}$$

  • $\text{Total}=(2\quad 3\quad 2)$
  • $\text{Allocated}=(2\quad 3\quad 1)$
  • $\text{Available}=\text{Total} -\text{Allocated} =(0\quad 0\quad 1)$

$P_2's$ need $(0\quad 0\quad 1 )$ can be met

And it releases its held resources after running to completion

$A=(0\quad 0\quad 1)+(0\quad 1\quad 0)=(0\quad 1\quad 1)$

$P_0's$ need $(0\quad 1\quad 1 )$ can be met

and it releases
$A=(0\quad 1\quad 1)+(1\quad 0\quad 1)=(1\quad 1\quad 2)$

$P_1's$ needs can be met $(1\quad 0\quad 0)$ and it releases
$A=(1\quad 1\quad 2)+(1\quad 1\quad 0)=(2\quad 2\quad 2)$

$P_3's$ need can be met
So, the safe sequence will be $P_2-P_0- P_1- P_3.$

by Active (3.6k points)
edited by
what we do if any process need is not matching from need matrix??? and which condition the system is in dead lock...

pllzz explain

Minor mistake in the calculation :

P1 needs can be met (1 0 0)

A=(1 1 2)+(1 1 0)=(2 2 2)

P3 s need can be met 

so the safe sequence would be P2 P0 P1 P3.


@hira If no process meets requirement then we are in an unsafe state. An unsafe state may lead to deadlock.

(deadlock is subset of unsafe state). Sometimes it may not lead to deadlock.  But if there is a safe sequence we are sure that it will never lead to deadlock.

A valuable information.

@Hira Thakur If deadlock then state has to be unsafe but not the other way. Deadlock is subset of unsafe state.

+13 votes

a) The system is not in deadlock state as there exists a safe sequence.

b)  P2 P0 P1 Pis a safe sequence.

by Junior (621 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
49,807 questions
54,727 answers
79,845 users