The Gateway to Computer Science Excellence
+15 votes

A single processor system has three resource types $X, Y$ and $Z$, which are shared by three processes. There are $5$ units of each resource type. Consider the following scenario, where the column alloc denotes the number of units of each resource type allocated to each process, and the column request denotes the number of units of each resource type requested by a process in order to complete execution. Which of these processes will finish LAST?

$$\begin{array}{|l|lll|ll|}\hline &\text{}  \rlap{\textbf{alloc}}  &&&\rlap{  \textbf{request}}  \\\hline  &\text{X} & \text{Y} & \text{Z}  &\text{X} & \text{Y} & \text{Z}  \\\hline  \textbf{P0} & \text{1} & \text{2} & \text{1}& \text{1} & \text{0} & \text{3}  \\\hline  \textbf{P1} & \text{2} & \text{0} & \text{1} & \text{0} & \text{1} & \text{2} \\\hline \textbf{P2} & \text{2} & \text{2} & \text{1} & \text{1} & \text{2} & \text{0} \\\hline \end{array}$$

  1. $P0$
  2. $P1$
  3. $P2$
  4. None of the above, since the system is in a deadlock
in Operating System by Veteran (52.2k points)
edited by | 2.6k views

Banker's Algorithm

1 Answer

+25 votes
Best answer

The answer is (C).

$$\overset{\text{Available Resources}}{\begin{array}{|l|l|l||}\hline
\text{X} & \text{Y} & \text{Z} \\\hline  \text{0} & \text{1} & \text{2}
\\\hline\end{array}}$$ Now, $P1$ will execute first, As it meets the needs. After completion, The available resources are updated.

$$\qquad  \overset{\text{Updated Available Resources}}{\begin{array}{|l|l|l||}\hline
\text{X} & \text{Y} & \text{Z} \\\hline  \text{2} & \text{1} & \text{3}
Now $P0$ will complete the execution, as it meets the needs.

After completion of $P0$ the table is updated and then $P2$ completes the execution.

Thus $P2$ completes the execution in the last.

by Boss (19.9k points)
edited by
please explain me how you get "Available Resources" , even if it is not mention in the question  or may be i am not able to fetch that particular point so please help me [email protected]_keeda
Calculate the  total allocated resources.             5  instances of X are allocated                       4 of Y and 3  of Z.

So the available or left resources are      x=5-5=0 :::: y=5-4=1::::z=5-3=2.

Hope it helps.
got it thanks ...
Plzz explain how p1 will execute the need of p1 is 022????
safe sequence will not be uniqe then how can we conclude that p2 is at last.

Shubham Aggarwal for this particular question what is other sequence other than P1 -> P0 -> P2 ?


In this particular question, only one safe sequence is possible.

$P_{1}\rightarrow P_{0}\rightarrow P_{2}$


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
50,737 questions
57,397 answers
105,452 users