fifo
#include <stdio.h>
int nof = 0;
int nor = 0;
int table[10][20];
int ref[20];
int frame[10];
int page_fault = 0;
int main(void)
{
void accept(void);
void fifo(void);
void display(void);
accept();
fifo();
display();
return(0);
}
void accept(void)
{
int i = 0;
int r = 0;
printf("\n\nEnter Number Of References : ");
scanf("%d",&nor);
for(r = 0; r < nor; r++)
{
printf("\nEnter the page reference : ");
scanf("%d",&ref[r]);
}
printf("\n\nEnter Number Of Frams : ");
scanf("%d",&nof);
for(i = 0; i < nof;i++)
{
frame[i] = -1;
}
}
void fifo(void)
{
int search(int);
int i = 0,r = 0;
int found = 0;
int pos = 0;
int j = 0;
for(r = 0; r < nor; r++)
{
found = search(ref[r]);
if(found == -1)
{
page_fault++;
frame[pos] = ref[r];
pos = (pos + 1) % nof;
for(i = 0; i < nof;i++)
{
table[i][r] = frame[i];
}
}
else
{
for(i = 0; i < nof;i++)
{
table[i][r] = frame[i];
}
}
}
}
int search(int num)
{
int i = 0;
for(i = 0; i < nof;i++)
{
if(num == frame[i])
{
return(i);
}
}
return(-1);
}
void display(void)
{
int i = 0;
int r = 0;
printf("Referernce String : \n\n|");
for(i = 0; i < nor;i++)
{
printf(" %2d |",ref[i]);
}
printf("\n|---------------------------------------------------------------|\n");
for(i = 0; i < nof;i++)
{
printf("|");
for(r = 0; r < nor;r++)
{
printf(" %2d |",table[i][r]);
}
printf("\n");
}
printf("\n\nNumber Of page_fault : %d\n",page_fault);
}