├── README.md └── LEAST RECENTLY USED /README.md: -------------------------------------------------------------------------------- 1 | # -LEAST-RECENTLY-USED 2 | .. 3 | -------------------------------------------------------------------------------- /LEAST RECENTLY USED: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | int fr[3]; 4 | void main() 5 | { 6 | void display(); 7 | int p[12]={2,3,2,1,5,2,4,5,3,2,5,2},i,j,fs[3]; 8 | int index,k,l,flag1=0,flag2=0,pf=0,frsize=3; 9 | clrscr(); 10 | for(i=0;i<3;i++) 11 | { 12 | fr[i]=-1; 13 | } 14 | for(j=0;j<12;j++) 15 | { 16 | flag1=0,flag2=0; 17 | for(i=0;i<3;i++) 18 | { 19 | if(fr[i]==p[j]) 20 | { 21 | flag1=1; 22 | flag2=1; break; 23 | } 24 | } 25 | if(flag1==0) 26 | { 27 | for(i=0;i<3;i++) 28 | { 29 | if(fr[i]==-1) 30 | { 31 | fr[i]=p[j]; 32 | flag2=1; break; 33 | } 34 | } 35 | } 36 | if(flag2==0) 37 | { 38 | for(i=0;i<3;i++) 39 | fs[i]=0; 40 | for(k=j-1,l=1;l<=frsize-1;l++,k--) 41 | { 42 | for(i=0;i<3;i++) 43 | { 44 | if(fr[i]==p[k]) fs[i]=1; 45 | }} 46 | for(i=0;i<3;i++) 47 | { 48 | if(fs[i]==0) 49 | index=i; 50 | } 51 | fr[index]=p[j]; 52 | pf++; 53 | } 54 | display(); 55 | } 56 | printf("\n no of page faults :%d",pf+frsize); 57 | getch(); 58 | } 59 | void display() 60 | { 61 | int i; printf("\n"); 62 | for(i=0;i<3;i++) 63 | printf("\t%d",fr[i]); 64 | } 65 | --------------------------------------------------------------------------------