Professional Documents
Culture Documents
LAB ASSIGNMENT-04
18BIT0126
N.ROHITH REDDY
int main()
int i,j,k,np,nf,f;
for(i=0;i<np;i++)
{
cin>>sp[i];flag[i]=0;
int sf[nf];
for(i=0;i<nf;i++) cin>>sf[i];
//cout<<"asnjklasnkld"; if((flag[j]==0)&&(f==0))
if(sf[i]<sp[j])
flag[j]=1;
cout<<i<<"||"<<sf[i]<<"||"<<j<<"||"<<sp[j]<<endl;
f=1;
}}
} if
(f==0)
}
b.) Best fit
#include<iostream>
int main()
cout<<endl;
int i,j,k,np,nf,f,b;
for(i=0;i<np;i++)
cin>>sp[i];flag[i]=0;
}
cout<<"enter the number of files";
for(i=0;i<nf;i++)
{ cin>>sf[i];
for(i=0;i<nf;i++)
{ f=-1; for(j=0;j<np;j++)
if(flag[j]==0)
if(sf[i]<=sp[j])
if(f==-1)
{f=j;flag[j]=1;}
else
if(sp[j]<sp[f])
{flag[f]=0;f=j;flag[j]=1;}
} if(f==-1)
cout<<i<<"\t"<<sf[i]<<"\t"<<f<<"\t"<<sp[f]<<endl;
} return 1;
}
c.)Worst fit (Easy)
#include<iostream>
int main() {
cout<<endl;
cin>>np;
int sp[np],flag[np];
for(i=0;i<np;i++)
cin>>sp[i];flag[i]=0;
cin>>nf;
cout<<"Enter the size of each file : ";
{ cin>>sf[i];
if(flag[j]==0)
if(sf[i]<=sp[j])
if(f==-1)
{f=j;flag[j]=1;}
else
if(sp[j]>sp[f])
{flag[f]=0;f=j;flag[j]=1;}
} if(f==-1)
else cout<<i<<"\t"<<sf[i]<<"\t"<<f<<"\t"<<sp[f]<<endl;
return 1;}
2.) Write a program to implement the page replacement algorithms.
a. FIFO b. LRU c. OPT (Medium)
a. )FIFO
#include<iostream>
int main() {
fr[30][10],p[30];
cin>>n;
cout<<"\nEnter the no of frames in memory : ";
cin>>m;
for(i=0;i<n;i++)
{cin>>p[i];}
for(i=0;i<n;i++)
{for(j=0;j<m;j++)
{ fr[i][j]=0; }}
for(i=0;i<n;i++)
{flag=0;flag1=0;
if(i>0)
{a=i;
for(k=0;k<m;k++)
{fr[i][k]=fr[a-1][k];}}
for(j=0;j<m;j++)
{if(p[i]==fr[i][j])
{flag=1;
hits++;}}
if(flag==0)
{for(k=0;k<m;k++)
{if(fr[i][k]==0)
{pos=k; flag1=1;
break;}}
if(flag1==1)
{fr[i][pos]=p[i];
pos1=pos+1;
if(pos1>=m)
pos1=0;
}
else
{ fr[i][pos1]=p[i];
pos1=pos1+1;
if(pos1>=m)
pos1=0;
}}
else continue;}
//printing
for(i=0;i<n;i++)
{for(j=0;j<m;j++)
{cout<<fr[i][j];}
cout<<"\n";}
return 0;}
b. )LRU
#include<stdio.h>
return pos;}
int main() {
pos, faults = 0;
printf("Enter number of frames: ");
scanf("%d", &no_of_frames);
scanf("%d", &no_of_pages);
scanf("%d", &pages[i]);
frames[i] = -1;
flag1 = flag2 = 0;
break;
}}
{ if(frames[j] ==-1)
}}}
findLRU(time, no_of_frames);
counter++; faults++;
counter;}
printf("\n");
return 0;
c. )OPT
#include<iostream>
int main() {
int
n,m,i,j,k,l=0,a,len,count=0,flag=0,pos=0,hits=0,flag1=0,pos1=0,pos2=0,max;
cin>>n;
cout<<"Enter the no of frames in a page : ";
cin>>m;
for(i=0;i<n;i++)
{cin>>p[i];}
for(i=0;i<n;i++)
{ for(j=0;j<m;j++)
{ fr[i][j]=0; }}
for(i=0;i<n;i++)
{flag=0;flag1=0;
if(i>0) { a=i;
for(k=0;k<m;k++)
{fr[i][k]=fr[a][k];}}
for(j=0;j<m;j++)
{if(p[i]==fr[i][j])
{ flag=1; hits++; }}
if(flag==0)
{for(k=0;k<m;k++)
{if(fr[i][k]==0)
{ pos=k;flag1=1;break; } }
if(flag1==1)
{ fr[i][pos]=p[i];}
else
{for(j=0;j<m;j++)
{ len=i+1;
while(fr[i][j]!=p[len]) {
len++;count++; }
temp[l++]=count+1; count=0;}
max=temp[0];
for(j=0;j<m;j++)
fr[i][pos2]=p[i];
}} else
continue;}
for(i=0;i<n;i++) {
for(j=0;j<m;j++)
{cout<<fr[i][j];}
cout<<"\n";}
return 0;