#include <stdio.h>
int f,p,nop[100],nof[100],pf,fi;
void fifo_p();
int contains(int t);
int contains(int t){
int i=0;
if(nof[0]==-1)
return 0;
for ( i = 0; i < f; ++i)
{
if(t==nof[i])
return 1;
}
return 0;
}
void fifo_p(){
int i=0;
fi=0;
for (i = 0; i < p; ++i)
{
if(contains(nop[i])==1)
continue;
if(nof[fi]==-1 || nof[fi]!=-1 &&contains(nop[i])==0){
pf++;
nof[fi]=nop[i];
fi++;
}
if(fi==f-1){
fi=0;
}
}
}
int main()
{int i=0;
pf=0;
printf("Enter Number of Frames\n");
scanf("%d",&f);
printf("Enter Number of Pages\n");
scanf("%d",&p);
printf("Enter page Numbers\n");
for ( i = 0; i < p; ++i)
{
scanf("%d",&nop[i]);
}
for ( i = 0; i < f; ++i)
{
nof[i]=-1;
}
fifo_p();
printf("Page Faults Found are:%d\n",pf);
return 0;
}
int f,p,nop[100],nof[100],pf,fi;
void fifo_p();
int contains(int t);
int contains(int t){
int i=0;
if(nof[0]==-1)
return 0;
for ( i = 0; i < f; ++i)
{
if(t==nof[i])
return 1;
}
return 0;
}
void fifo_p(){
int i=0;
fi=0;
for (i = 0; i < p; ++i)
{
if(contains(nop[i])==1)
continue;
if(nof[fi]==-1 || nof[fi]!=-1 &&contains(nop[i])==0){
pf++;
nof[fi]=nop[i];
fi++;
}
if(fi==f-1){
fi=0;
}
}
}
int main()
{int i=0;
pf=0;
printf("Enter Number of Frames\n");
scanf("%d",&f);
printf("Enter Number of Pages\n");
scanf("%d",&p);
printf("Enter page Numbers\n");
for ( i = 0; i < p; ++i)
{
scanf("%d",&nop[i]);
}
for ( i = 0; i < f; ++i)
{
nof[i]=-1;
}
fifo_p();
printf("Page Faults Found are:%d\n",pf);
return 0;
}
No comments:
Post a Comment