The Gateway to Computer Science Excellence
+17 votes
1.1k views

02. Choose the correct alternatives (more than one may be correct) and write the corresponding letters only:

(xi) A computer system has $6$ tape devices, with n processes competing for them. Each process may need $3$ tape drives. The maximum value of n for which the system is guaranteed to be deadlock-free is:

  1. $2$
  2. $3$
  3. $4$
  4. $1$
in Operating System by
edited by | 1.1k views

2 Answers

+8 votes
Best answer
Allocate $max-1$ resources to all processes and add one more resource to any process (Pigeon hole principle) so that this particular process can be completed (resources can be freed) and there is no deadlock.

Max resources required is $3$.

$\therefore$ $(3-1)*n+1=6$

$n=\left \lfloor \frac{5}{2} \right \rfloor=2$

Correct Answer: $A$
by
edited by
0
Please explain me this-

if I take 4 processes as- P1, P2, P3, P4 and allocate resources as 1, 1, 1, 3 respectively, then P4 will complete its task and release the resources held by it and hence others can complete their task. And hence the system is deadlock free by taking 4 processes.

Please help where am I missing the concept.
0

@PriyankaS

P1 P2 P3 P4
1 1 1 1
1 1    

The case which you have taken will not lead to deadlock but if I consider this case for your example then there will be a deadlock.

So we need such a number of process in which if we try for any possibility deadlock should  not occur!

+18 votes

Answer: (A).

For $n=3$, $2-2-2$ combination of resources leads to deadlock.

For $n=2$, $3 - 3$ is the maximum need and that can always be satisfied.

by
edited by
0
I may be a bit late to ask this question. But nonetheless...

Consider there are 4 processes and each process has 1 resource. There will be two resources remaining. One of the four process may ask for 2 resources and the resulting state will be a safe state. (Infact, one of the resource can request only one tape device and even after that it will be in safe state.) So the max process will be 4(option C) right?
+8

your assumption is good. But you should take care of question statement in the question statement it has been said that 

"The maximum value of n for which the system is guaranteed to be deadlock free is"

here guaranteed word is used and due to this word your answer is not correct so if guaranteed is not used in question statement in that case you may be correct.

0

@GaneshA We can come up with many such allocation which will not cause deadlock. Question is asking "guaranteed to be deadlock free". Even if there is is a single case causing deadlock, it will not be considered.

Worst case allocation is all process gets one less than their maximum demand and all are blocked as after such assignment no one goes to completion.

0

Please explain, I am not able to understand.

If I take 4 processes as- P1, P2, P3, P4 and allocate resources as 1, 1, 1, 3 respectively, then P4 will complete its task and release the resources held by it and hence others can complete their task. And hence the system is deadlock free by taking 4 processes.

How come using 4 processes deadlock free is not guaranteed?

Please help where am I missing the concept.

Answer:

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
52,345 questions
60,511 answers
201,930 comments
95,354 users