IMPLEMENTATION OF MEMORY MANAGEMENT SCHEME - II (FIFO)
CODING:
#include<stdio.h>
main()
{
int frame[10],p[10],nf,np,avail,i,j,k,count=0;
printf("\nEnter the no of frames:");
scanf("%d",&nf);
printf("\nEnter the no of page numbers:");
scanf("%d",&np);
printf("\nEnter sequence of page numbers:");
for(i=0;i<np;i++)
scanf("%d",&p[i]);
printf("\n");
for(i=0;i<nf;i++)
frame[i]=-1;
j=0;
for(i=0;i<np;i++)
{
avail=0;
for(k=0;k<nf;k++)
{
if(frame[k]==p[i])
avail=1;
}
if(avail==0)
{
frame[j]=p[i];
j=(j+1)%nf;
count++;
for(k=0;k<nf;k++)
printf("%d\t",frame[k]);
}
printf("\n");
}
printf("\nNo of page faults:%d",count);
}
OUTPUT:
Enter the no of frames:3
Enter the no of page numbers:11
Enter sequence of page numbers:7
0
1
2
0
3
0
4
2
3
0
7
7
7
2
-1
0
0
0
2
2
4
4
4
0
3
3
3
2
2
2
No of page faults:10
-1
-1
1
1
1
0
0
0
3
3
IMPLEMENTATION OF MEMORY MANAGEMENT SCHEME - II (LRU)
CODING:
#include<stdio.h>
main()
{
int frame[10],frsize,nf,np,count=0,fs[10],flag1,flag2,index,p[10],i,j,k,l,avail,i1;
printf("\nEnter the no of page frames:");
scanf("%d",&nf);
frsize=nf;
printf("\nEnter no of page nos:");
scanf("%d",&np);
printf("\nEnter sequnce of page nos:");
for(i=0;i<np;i++)
scanf("%d",&p[i]);
printf("\n");
for(i=0;i<3;i++)
frame[i]=-1;
for(j=0;j<np;j++)
{
flag1=flag2=0;
for(i=0;i<nf;i++)
{
if(frame[i]==p[j])
{
flag1=flag2=1;
break;
}
}
if(flag1==0)
{
for(i=0;i<nf;i++)
{
if(frame[i]==-1)
{
frame[i]=p[j];
flag2=1;
break;
}
}count++;
}
if(flag2==0)
{
for(i=0;i<nf;i++)
fs[i]=0;
for(k=j-1,l=1;l<=frsize-1;l++,k--)
{
for(i=0;i<nf;i++)
{
if(frame[i]==p[k])
fs[i]=1;
}
}
for(i=0;i<nf;i++)
{
if(fs[i]==0)
index=i;
}
frame[index]=p[j];
}
for(i=0;i<nf;i++)
printf("%d\t",frame[i]);
printf("\n");
}
printf("\nNo of page faults:%d",count);
}
OUTPUT:
Enter the no of page frames:3
Enter no of page nos:8
Enter sequnce of page nos:7
0
1
2
0
3
0
4
7
7
7
2
2
2
2
4
-1
0
0
0
0
0
0
0
No of page faults:6
-1
-1
1
1
1
3
3
3
No comments:
Post a Comment