#include< stdio.h>
#include< conio.h>
int fsize;
int frm[15];
void display();
void main()
{
int pg[100],nPage,i,j,pf=0,top=-1,temp,flag=0;
clrscr();
printf("\n Enter frame size:");
scanf("%d",&fsize);
printf("\n Enter number of pages:");
scanf("%d",&nPage);
for(i=0;i< nPage;i++)
{
printf("\n Enter page[%d]:",i+1);
scanf("%d",&pg[i]);
}
for(i=0;i< fsize;i++)
frm[i]=-1;
printf("\n page | \t Frame content ");
printf("\n--------------------------------------");
for(j=0;j< nPage;j++)
{
flag=0;
for(i=0;i< fsize;i++)
{
if(frm[i]==pg[j])
{
flag=1;
break;
}
}
if(flag==0)
{
if(top==fsize-1)
{
top=-1;
}
pf++;
top++;
frm[top]=pg[j];
}
printf("\n %d |",pg[j]);
display();
}
printf("\n--------------------------------------");
printf("\n total page fault:%d",pf);
getch();
}
void display()
{
int i;
for(i=0;i< fsize;i++)
printf("\t %d",frm[i]);
}
OUTPUT
Enter the number of processes:5
Enter the Arrival Time & Burst Time for process[1]:0 9
Enter the Arrival Time & Burst Time for process[2]:1 5
Enter the Arrival Time & Burst Time for process[3]:2 2
Enter the Arrival Time & Burst Time for process[4]:3 6
Enter the Arrival Time & Burst Time for process[5]:4 8
PId ArrivalTime BurstTime JCTime WaitingTime TAtime
_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+
1 0 9 9 0 9
2 1 5 14 8 13
3 2 2 16 12 14
4 3 6 22 13 19
5 4 8 30 18 26
_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+
Average Waiting time:10.200000
Average Turn Around Time:16.200000
Comments
Post a Comment