FIFO merupakan singkatan dari First in first out atau dalam bahasa Indonesia, Pertama masuk pertama keluar yang berarti bahwa persediaan yang pertama kali masuk itulah yang pertama kali dicatat sebagai barang yang dijual
Utamanya algoritma ini di anggap cukup mengatasi pergantian page sampai pada tahun 70-an, pada saat itu juga Belady menemukan keganjalan pada algoritma ini dan dikenal dengan anomali Belady. Anomali Belady itu sendiri ialah keadaan dimana page fault rate meningkat seiring dengan pertambahannya jumlah frame.
#include
"stdio.h"
#include "stdlib.h"
#include "iostream.h"
#include "conio.h"
int b[4]={0};
int a[100];
int m=0,n=0;
int i,j,x;
Cetak()
{
int i;
printf(" %d |
Yes | ",a[j]);
for(i=0;i<4;i++)
printf("%d ",b[i]);
printf("\n");
return 0;
}
FIFO()
{
printf("-----------------------------\n");
printf("------- Paging FIFO
--------\n");
printf("-----------------------------\n");
printf(" Page | Page Fault |
Hasil \n");
printf("-----------------------------\n");
for(j=0;j<4;j++)
{
b[j]=a[j];
Cetak();
n++;
getch();
}
for(j=4;j<x;j++)
{
m=0;
for(i=0;i<4;i++)
if(a[j]==b[i])
{
m=1;
printf("
%d | No
| Sama \n",a[j]);
getch();
break;
}
if(m==0)
{
for(i=0;i<3;i++)
b[i]=b[i+1];
b[3]=a[j];
Cetak();
n++;
getch();
}
}
printf("-----------------------------\n");
printf("FIFO page faults : %d\n",n);
printf("Rata-rata page faults :
%f\n",(double)n/x);
printf("-----------------------------\n");
getch();
return 0;
}
main()
{
printf("Input Page = ");scanf("%d", &x);
for(i=0;i<x;i++)
{
printf("Page ke - %d = ",i+1);scanf("%d",
&a[i]);
}
printf("\n");
printf("Page Number : ");
for (i=0;i<x;i++)
{
printf("%d ",a[i]);
}
printf("\n \n");
FIFO();
getch();
return 0;
Tidak ada komentar:
Posting Komentar