2d752d_Dead Lock 15
2d752d_Dead Lock 15
2d752d_Dead Lock 15
Let us assume that there are three processes P1, P2 and P3. There
are three different resources R1, R2 and R3. R1 is assigned to P1, R2
is assigned to P2 and R3 is assigned to P3.
After some time, P1 demands for R2 which is being used by P2. P1
halts its execution since it can't complete without R2. P2 also
demands for R3 which is being used by P3. P2 also stops its
execution because it can't continue without R3. P3 also demands for
R1 which is being used by P1 therefore P3 also stops its execution.
In this scenario, a cycle is being formed among the three
processes. None of the process is progressing and they are all
waiting.
1. Mutual Exclusion
A resource can only be shared in mutually exclusive manner. It
implies, if two process cannot use the same resource at the same
time.
2. Hold and Wait
A process waits for some resources while holding another resource
at the same time.
3. No preemption
The process which once scheduled will be executed till the
completion. No other process can be scheduled by the scheduler
meanwhile.
4. Circular Wait
All the processes must be waiting for the resources in a cyclic
manner so that the last process is waiting for the resource which is
Resource Allocation Graph
1
Resource Vertex
• Single Instance
CPU, Monitor etc.
• Multi Instance
Register, Printer