#include<conio.h>
#include<iostream.h>
int fr[3];
void main()
{
clrscr();
int p[50],i,j,fs[20],n;
int max,found=0,lg[3],index,k,l,flag1=0,flag2=0,pf=0,f;
cout<<"\n **** OPTIMAL PAGE REPLACEMENT ALGORITHM ****\n"
cout<<"-----------------------------------------------" ;
cout<<"\n \nenter the no. of pages : \n";
cin>>n;
cout<<"enter the reference string : \n";
for(i=0;i<n;i++)
cin>>p[i];
cout<<"\n enter the no. of frames : \n";
cin>>f;
for(i=0;i<f;i++)
{
fr[i]=-1;
}
for(j=0;j<n;j++)
{
flag1=0;
flag2=0;
for(i=0;i<f;i++)
{
if(fr[i]==p[j])
{
flag1=1;
flag2=1;
break;
}
}
if(flag1==0)
{
for(i=0;i<f;i++)
{
if(fr[i]==-1)
{
fr[i]=p[j];
flag2=1;
break;
}
}
}
if(flag2==0)
{
for(i=0;i<f;i++)
lg[i]=0;
for(i=0;i<f;i++)
{
for(k=j+1;k<n;k++)
{
if(fr[i]==p[k])
{
lg[i]=k-j;
break;
}
}
}
found=0;
for(i=0;i<f;i++)
{
if(lg[i]==0)
{
index=i;
found=1;
break;
}
}
if(found==0)
{
max=lg[0];
index=0;
for(i=1;i<f;i++)
{
if(max<lg[i])
{
max=lg[i];
index=i;
}
}
}
fr[index]=p[j];
pf++;
}
}
cout<<"\n no of page faults : "<<pf+f;
getch();
}
#include<iostream.h>
int fr[3];
void main()
{
clrscr();
int p[50],i,j,fs[20],n;
int max,found=0,lg[3],index,k,l,flag1=0,flag2=0,pf=0,f;
cout<<"\n **** OPTIMAL PAGE REPLACEMENT ALGORITHM ****\n"
cout<<"-----------------------------------------------" ;
cout<<"\n \nenter the no. of pages : \n";
cin>>n;
cout<<"enter the reference string : \n";
for(i=0;i<n;i++)
cin>>p[i];
cout<<"\n enter the no. of frames : \n";
cin>>f;
for(i=0;i<f;i++)
{
fr[i]=-1;
}
for(j=0;j<n;j++)
{
flag1=0;
flag2=0;
for(i=0;i<f;i++)
{
if(fr[i]==p[j])
{
flag1=1;
flag2=1;
break;
}
}
if(flag1==0)
{
for(i=0;i<f;i++)
{
if(fr[i]==-1)
{
fr[i]=p[j];
flag2=1;
break;
}
}
}
if(flag2==0)
{
for(i=0;i<f;i++)
lg[i]=0;
for(i=0;i<f;i++)
{
for(k=j+1;k<n;k++)
{
if(fr[i]==p[k])
{
lg[i]=k-j;
break;
}
}
}
found=0;
for(i=0;i<f;i++)
{
if(lg[i]==0)
{
index=i;
found=1;
break;
}
}
if(found==0)
{
max=lg[0];
index=0;
for(i=1;i<f;i++)
{
if(max<lg[i])
{
max=lg[i];
index=i;
}
}
}
fr[index]=p[j];
pf++;
}
}
cout<<"\n no of page faults : "<<pf+f;
getch();
}
No comments:
Post a Comment