OUTPUT :
2 -1 -1
2 3 -1
2 3 -1
2 3 1
2 3 5
2 3 5
4 3 5
4 3 5
4 3 5
2 3 5
2 3 5
2 3 5
no of page faults : 3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | #include<stdio.h> #include<conio.h> int fr[3]; void main() { void display(); int p[12]={2,3,2,1,5,2,4,5,3,2,5,2},i,j,fs[3]; int max,found=0,lg[3],index,k,l,flag1=0,flag2=0,pf=0,frsize=3; clrscr(); for(i=0;i<3;i++) { fr[i]=-1; } for(j=0;j<12;j++) { flag1=0; flag2=0; for(i=0;i<3;i++) { if(fr[i]==p[j]) { flag1=1; flag2=1; break; } } if(flag1==0) { for(i=0;i<3;i++) { if(fr[i]==-1) { fr[i]=p[j]; flag2=1; break; } } } if(flag2==0) { for(i=0;i<3;i++) lg[i]=0; for(i=0;i<frsize;i++) { for(k=j+1;k<12;k++) { if(fr[i]==p[k]) { lg[i]=k-j; break; } } } found=0; for(i=0;i<frsize;i++) { if(lg[i]==0) { index=i; found=1; break; } } if(found==0) { max=lg[0]; index=0; for(i=1;i<frsize;i++) { if(max<lg[i]) { max=lg[i]; index=i; } } } fr[index]=p[j]; pf++; } display(); } printf("\n no of page faults:%d",pf); getch(); } void display() { int i; printf("\n"); for(i=0;i<3;i++) printf("\t%d",fr[i]); } |
OUTPUT :
2 -1 -1
2 3 -1
2 3 -1
2 3 1
2 3 5
2 3 5
4 3 5
4 3 5
4 3 5
2 3 5
2 3 5
2 3 5
no of page faults : 3
Description :
This is the one stop educational site for all Electronic and Computer students. If you want to learn something new then we are here to help. We work on Microcontroller projects, Basic Electronics, Digital electronics, Computer projects and also in basic c/c++ programs.
#Home #Sitemap #Submit #Terms of Use
Copyright©2011 electrofriends.com All Rights Reserved
Contact:info@electrofriends.com | Powered by Dhyeya
Thank you very much sir i struggled for 3 weeks to get the logic for this program…. thank you… thank you..
hii
hey in ths example number of page fault is 7 not 3……
Yes plz help us==> guess some thing wrong !! Number of faults is not true even i
tryed an other pages’s refenerement but DOESn’t mutch
//****this works fine****
#include
#include
void main()
{
int x,n,q2[10],i,f,j=0,k,pf=0,c=0,h,m,b=0;
char q[10],s[20] ;
clrscr();
printf(“\nenter :\n”);
scanf(“%s”,&s);
n=strlen(s);
printf(“enter the no. of frames:\n”);
scanf(“%d”,&f);
s[n+1]=”;
for(i=0;i<f;i++)
{
q[i]='';
q2[i]=0;
}
for(i=0;i<n;i++)
{
c=0;
for(k=0;k<f;k++)
if(s[i]==q[k])
c++;
if(c==0)
{ if(q[f-1]=='')
{
q[j]=s[i];
pf++;
j++;
if(j==f)
j=0;
}
else
{
for(k=0;k<f;k++)
{b=0;
for(x=i+1;x<n;x++)
{
if(b==0)
if(q[k]==s[x])
{q2[k]=x;
b++;
}
}
if(q2[k]==0)
q2[k]=n;
}
j=0;
for(k=1;k<f;k++)
if(q2[j]<q2[k])
j=k;
for(k=0;k<f;k++)
q2[k]=0;
q[j]=s[i];
pf++;
}
}
for(m=0;m<f;m++)
printf("%c ",q[m]);
printf("\n");
}
printf("\nfinal queue is:\n\t\t");
for(m=0;m<f;m++)
printf("\n%c",q[m]);
printf("\ntotal pf is: %d",pf);
printf("\npf due to replacement is: %d",pf-f);
getch();
}
the no. of page faults is not 3
3 is the number of frames
Pllzz lemme know whether the original post can be used for the implementation or not???
orei chetta na kodakallara , telvakapothe madda musukuni gudda denginchukondi. ante gani me sullilu maa notlo pettalani try cheyadhu..
this program work fine
#include
#include
void main()
{
int a[5],b[20],p=0,q=0,m=0,h,k,i,q1=1,j,n;
char f=’F';
clrscr();
printf(“Enter the number of page:”);
scanf(“%d”,&n);
printf(“enter the number”);
for(i=0;i<n;i++)
scanf("%d",&b[i]);
for(i=0;i=3)
q=0;
a[q]=b[i];
q++;
if(q1<3)
{
q1=q;
}
}
printf("\n%d",b[i]);
printf("\t");
for(h=0;h%c”,f);
m++;
}
p=0;
for(k=0;k<q-1;k++)
{
if(b[i+1]==a[k])
p=1;
}
}
printf("\nNo of faults:%d",m);
getch();
}
thank you soooo much..
u r lifesaver…
i love you..you really saved my life..you know this really helped me alot
than q for the code……………..
and no of page faults is not correct………….hav to check
3 is no of frames
the no. of page faults is actually 6….but in the code the initial faults are not counted ie the code is correct thats all i wanna say