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
March 21st, 2010 at 8:53 pm
Thank you very much sir i struggled for 3 weeks to get the logic for this program…. thank you… thank you..
November 18th, 2010 at 10:25 am
hii
hey in ths example number of page fault is 7 not 3……
February 19th, 2011 at 4:57 pm
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
March 16th, 2011 at 10:01 pm
//****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();
}
March 26th, 2011 at 5:19 pm
the no. of page faults is not 3
3 is the number of frames
April 10th, 2011 at 11:47 am
Pllzz lemme know whether the original post can be used for the implementation or not???
September 30th, 2011 at 9:33 pm
orei chetta na kodakallara , telvakapothe madda musukuni gudda denginchukondi. ante gani me sullilu maa notlo pettalani try cheyadhu..
November 1st, 2011 at 10:53 pm
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();
}
November 14th, 2011 at 10:55 pm
thank you soooo much..
u r lifesaver…