#include<stdio.h>
main()
{
int p[20],i,j=0,k,l=0,n,m,q[5],fault=0,z=0,x[3],max=0,c,b,a;
printf("\n enter the num of pages:");
scanf("%d",&n);
printf("enter pages:");
for(i=0;i<n;i++)
scanf("%d",&p[i]);
printf("enter no of frames:");
scanf("%d",&m);
for(i=0;i<m;i++)
q[i]=-1;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
if(p[i]==q[j])
z++;
if(z==0)
{
fault++;
if(i>m-1)
{
for(a=0;a<m;a++)
x[a]=0;
for(c=0;c<m;c++)
for(b=i;b<n;b++)
{
if(q[c]!=p[b])
x[c]++;
else
break;
}
max=x[0];l=0;
if(x[1]>max){ max=x[1];l=1;}
if(x[2]>max){ max=x[2];l=2;}
}
q[l]=p[i];
l++;
z=0;
for(k=0;k<m;k++)
printf("%d\t",q[k]);
printf("\n");
}
z=0;
}
printf("No. of page faults:%d",fault);
}
No comments:
Post a Comment