Thursday, November 25, 2010

DEAD LOCK DETECTION


/* Dead Lock */
#include<stdio.h>
main()
{
int i,j,k,l,b[20],s,p,m[20][20],a[20][20],n[20][20];
int w[12],flag=0,c[30],count=0;
printf("enter number of processes\n");
scanf("%d",&p);
printf("enter number of resources\n");
scanf("%d",&s);
printf("enter the allocation matrix\n");
for(i=0;i<p;i++)
for(j=0;j<s;j++)
scanf("%d",&a[i][j]);
printf("enter maximum matrix\n");
for(i=0;i<p;i++)
for(j=0;j<s;j++)
scanf("%d",&m[i][j]);
printf("enter available matrix\n");
for(j=0;j<s;j++)
{
scanf("%d",&b[j]);
w[j]=b[j];
}
for(i=0;i<p;i++)
for(j=0;j<s;j++)
n[i][j]=m[i][j]-a[i][j];
printf("allocation matrix \t\t max\t\t need\n");
for(j=0;j<p;j++)
{
for(k=0;k<s;k++)
printf("%d\t",a[j][k]);
printf("\t");
for(k=0;k<s;k++)
printf("%d\t",m[j][k]);
printf("\t");
for(k=0;k<s;k++)
printf("%d\t",n[j][k]);
printf("\n");
}
printf("request is :\n");
for(i=0;i<p;i++)
c[i]=0;
for(l=0;l>p;l++)
{
for(i=0;i<p;i++)
{
flag=0;
for(j=0;j<s;j++)
if(n[i][j]>w[j])
flag=1;
if(flag!=1)
{
if(c[i]!=-1)
{
for(k=0;k<s;k++)
w[k]+=a[i][k];
printf("p[%d]\t",i);
count++;
c[i]=-1;
}
}
}
}
if(count!=p)
{
printf("deadlock is occured\n");
}
else
{
printf("safe sequence\n");
}
}
~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      /* Dead Lock */
#include<stdio.h>
main()
{
int i,j,k,l,b[20],s,p,m[20][20],a[20][20],n[20][20];
int w[12],flag=0,c[30],count=0;
printf("enter number of processes\n");
scanf("%d",&p);
printf("enter number of resources\n");
scanf("%d",&s);
printf("enter the allocation matrix\n");
for(i=0;i<p;i++)
for(j=0;j<s;j++)
scanf("%d",&a[i][j]);
printf("enter maximum matrix\n");
for(i=0;i<p;i++)
for(j=0;j<s;j++)
scanf("%d",&m[i][j]);
printf("enter available matrix\n");
for(j=0;j<s;j++)
{
scanf("%d",&b[j]);
w[j]=b[j];
}
for(i=0;i<p;i++)
for(j=0;j<s;j++)
n[i][j]=m[i][j]-a[i][j];
printf("allocation matrix \t\t max\t\t need\n");
for(j=0;j<p;j++)
{
for(k=0;k<s;k++)
printf("%d\t",a[j][k]);
printf("\t");
for(k=0;k<s;k++)
printf("%d\t",m[j][k]);
printf("\t");
for(k=0;k<s;k++)
printf("%d\t",n[j][k]);
printf("\n");
}
printf("request is :\n");
for(i=0;i<p;i++)
c[i]=0;
for(l=0;l>p;l++)
{
for(i=0;i<p;i++)
{
flag=0;
for(j=0;j<s;j++)
if(n[i][j]>w[j])
flag=1;
if(flag!=1)
{
if(c[i]!=-1)
{
for(k=0;k<s;k++)
w[k]+=a[i][k];
printf("p[%d]\t",i);
count++;
c[i]=-1;
}
}
}
}
if(count!=p)
{
printf("deadlock is occured\n");
}
else
{
printf("safe sequence\n");
}
}
~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            /* Dead Lock */
#include<stdio.h>
main()
{
int i,j,k,l,b[20],s,p,m[20][20],a[20][20],n[20][20];
int w[12],flag=0,c[30],count=0;
printf("enter number of processes\n");
scanf("%d",&p);
printf("enter number of resources\n");
scanf("%d",&s);
printf("enter the allocation matrix\n");
for(i=0;i<p;i++)
for(j=0;j<s;j++)
scanf("%d",&a[i][j]);
printf("enter maximum matrix\n");
for(i=0;i<p;i++)
for(j=0;j<s;j++)
scanf("%d",&m[i][j]);
printf("enter available matrix\n");
for(j=0;j<s;j++)
{
scanf("%d",&b[j]);
w[j]=b[j];
}
for(i=0;i<p;i++)
for(j=0;j<s;j++)
n[i][j]=m[i][j]-a[i][j];
printf("allocation matrix \t\t max\t\t need\n");
for(j=0;j<p;j++)
{
for(k=0;k<s;k++)
printf("%d\t",a[j][k]);
printf("\t");
for(k=0;k<s;k++)
printf("%d\t",m[j][k]);
printf("\t");
for(k=0;k<s;k++)
printf("%d\t",n[j][k]);
printf("\n");
}
printf("request is :\n");
for(i=0;i<p;i++)
c[i]=0;
for(l=0;l>p;l++)
{
for(i=0;i<p;i++)
{
flag=0;
for(j=0;j<s;j++)
if(n[i][j]>w[j])
flag=1;
if(flag!=1)
{
if(c[i]!=-1)
{
for(k=0;k<s;k++)
w[k]+=a[i][k];
printf("p[%d]\t",i);
count++;
c[i]=-1;
}
}
}
}
if(count!=p)
{
printf("deadlock is occured\n");
}
else
{
printf("safe sequence\n");
}
}
            

No comments:

Post a Comment

FOLLOWERS