Simulate the following page replacement algorithms LRU

#include<stdio.h>
#include<conio.h>
#include<string.h>
 int findmin();
 int i,j,pf=0,f,n,min,ref[40],frame[10],avail,ind=0,count=0,k,time[10];
 
void main()
{
  printf("enter the number of pages : ");
  scanf("%d",&n);
  printf("enter the page numbers : ");
  for(i=0;i<n;i++)
  scanf("%d",&ref[i]);
  printf("enter the number of frames : ");
  scanf("%d",&f);
  printf("Page frames:");
  printf("\n");
for(i=0;i<f;i++)
{
frame[i]=-1;
time[i]=0;
}
for(i=0;i<n;i++)
{
avail=0;
for(j=0;j<f;j++)
{
if(frame[j]==ref[i])
{
avail=1;
count++;
time[j]=count;
break;
}
}
if(avail==0)
{
k=findmin();
frame[k]=ref[i];
count++;
time[k]=count;
pf++;

for(j=0;j<f;j++)
{
if(frame[j]!=-1)
printf("\t%d",frame[j]);

}
printf("\n");
}
}
printf("total page faults : %d\n",pf);
}
int findmin()
{
min=time[0];
ind=0;
for(k=1;k<f;k++)
{
if(time[k]<min)
{
min=time[k];
ind=k;
}
}
return ind;
}

Comments

Popular posts from this blog

CLOOK DISK SCHEDULING

LOOK Disk Scheduling