Program for Deadlock detection algorithm

Saturday, September 19th, 2009

INPUT:
enter total no. of processes : 4
enter claim matrix :
0 1 0 0 1
0 0 1 0 1
0 0 0 0 1
1 0 1 0 1
enter allocation matrix :
1 0 1 1 0
1 1 0 0 0
0 0 0 1 0
0 0 0 0 0
enter resource vector :
2 1 1 2 1
enter the availability vector :
0 0 0 0 1

OUTPUT :
deadlock causing processes are : 1 2

#include<stdio.h>
#include<conio.h>
void main()
{
int found,flag,l,p[4][5],tp,c[4][5],i,j,k=1,m[5],r[5],a[5],temp[5],sum=0;
clrscr();
printf("enter total no of processes");
scanf("%d",&tp);
printf("enter clain matrix");
for(i=1;i<=4;i++)
for(j=1;j<=5;j++)
{
scanf("%d",&c[i][j]);
}
printf("enter allocation matrix");
for(i=1;i<=4;i++)
for(j=1;j<=5;j++)
{
scanf("%d",&p[i][j]);
}
printf("enter resource vector:\n");
for(i=1;i<=5;i++)
{
scanf("%d",&r[i]);
}
printf("enter availability vector:\n");
for(i=1;i<=5;i++)
{
scanf("%d",&a[i]);
temp[i]=a[i];
}
for(i=1;i<=4;i++)
{
sum=0;
for(j=1;j<=5;j++)
{
sum+=p[i][j];
}
if(sum==0)
{
m[k]=i;
k++;
}
}
for(i=1;i<=4;i++)
{
for(l=1;l<k;l++)
if(i!=m[l])
{
flag=1;
for(j=1;j<=5;j++)
if(c[i][j]>temp[j])
{
flag=0;
break;
}
}
if(flag==1)
{
m[k]=i;
k++;
for(j=1;j<=5;j++)
temp[j]+=p[i][j];
}
}
printf("deadlock causing processes are:");
for(j=1;j<=tp;j++)
{
found=0;
for(i=1;i<k;i++)
{
if(j==m[i])
found=1;
}
if(found==0)
printf("%d\t",j);
}
getch();
}
Avatar Image

Author Name :
Ranjith

Total : 17 Comments


17 Responses to Program for Deadlock detection algorithm

  1. priti

    explain deadlock detection?what is allocation matrix&claim matrix?
    what is resource vector and availiblity vector?

  2. joyash

    explain deadlock detection?what is allocation matrix&claim matrix?
    what is resource vector and availiblity vector?

  3. joyash

    what is allocation matrix?

  4. Bharath

    Please answer me any one…
    How to implement the deadlock condition by using real resource like
    memory,dvd rom,no of process….
    I am struggle with doing this,please any one help me…

  5. Archana

    what is claim matrix?
    can u expalin the program with sum?

  6. Archana

    what is claim matrix?
    can u expalin the above program with sum?

  7. Diya

    i guess claim matrix is d maximum need of resources for each process

  8. akshay

    sir if cycle present in a graph it is known as deadlock .what are the methods or algorithm that we can prevent the deadlock. and explain me a for loop now as soon as possible iam waiting for ur reply.

  9. sheshank

    The claim matrix and the allocation matrix actually come from the Resource allocation graph (RAG).
    How do i input these matrices directly from the RAG. That is instead of using scanf, i can update the matrices.

    How do i do it ?
    Please advice.

    Thanks
    sheshank

  10. Mahesh

    Hi I’m writing a program in java for simple deadlock detection : I’m given a muti-dimensional array with dependencies like

    A B
    B C
    C A

    Indicating that A depends on B, B on C and C on A. Hence there’s a deadlock. I wanted some help with the logic to write this in java.

    Any help is appreciated.

    -Mahesh

  11. Russ Kimmel

    Hello.This article was really interesting, especially because I was looking for thoughts on this topic last Saturday.

  12. shashank

    hello mahesh,could u plz elaborate ur question??

  13. sravani

    hai iam sravani i need exact step by step algorithm fordead lock detection

  14. priya

    such a waste program i have ever seen…………………….

  15. niranjan

    program is executing but we want its explanation. . . . .

  16. Ashish

    Bakwaaaaassss

  17. radhika

    this pogram is wrong………………..u hav given right output here…but we r getting wrong output wen we execute it

Leave a Reply

Question and Answer
C/C++ Unix & Linux Wordpress
Source codes
C C++ Java

Free email signup