MENU











Tuesday, 2 September 2014

Page Replacement Algorithm

FIFO ---- Page Replacement Algorithm

include<stdio.h>
void fifo(int *,int ,int );
int main()
{
 int nofra ;  //  number of frames 
 int refs[20] ; // reference string
 int noref ;// number of frame references
 int i=0;
   printf("\n enter no.of frames");
 scanf("%d",&nofra);
   printf("\n enter no.of references:");
 scanf("%d",&noref);
 printf("enter the reference string");
  for(i=0;i<noref;i++)
  {
   scanf("%d",&refs[i]);
  }
 fifo(&refs,noref,nofra);
}

void fifo(int *refs,int noref,int nofra)
{
 int fifomem[10],i,j,pagefaults=0,fifo=0,flag=0;
 for(i=0;i<nofra;i++)
 {
  fifomem[i]=- 1 ;
 } 
 for(i=0; i<noref; i++)
 {
  flag=0;
  for(j=0;j<nofra;j++)
  {
   if(iifomem[j]=refs[i])
   {
    flag=1;
    break;
   }
  }
  if(flag==0)
  {
   for(j=0;j<nofra;j++)
   {
      if(fifomem[j]==-1)
    {
       fifomem[j]=refs[i];
      pagefaults=pagefaults+1;
      flag=1;
      break;
    }
   }
  }

  if(flag==0)
  {
   fifomem[fifo]=refs[i];
   fifo=(fifo+1)% nofra;
   pagefaults=pagefaults+1;
  }
 }
 printf("\n number of pagefaults using fifo page replacement algorithm are %d\n",pagefaults);
 for(i=0;i<nofra;i++)
 printf("\t%d",fifomem[i]);
}

No comments:

Post a Comment