#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 frame size:3
Enter number of pages:12
Enter page[1]:1
Enter page[2]:2
Enter page[3]:3
Enter page[4]:4
Enter page[5]:1
Enter page[6]:2
Enter page[7]:5
Enter page[8]:1
Enter page[9]:2
Enter page[10]:3
Enter page[11]:4
Enter page[12]:5
page | Frame content
--------------------------------------
1 | 1 -1 -1
2 | 1 2 -1
3 | 1 2 3
4 | 4 2 3
1 | 4 1 3
2 | 4 1 2
5 | 5 1 2
1 | 5 1 2
2 | 5 1 2
3 | 5 3 2
4 | 5 3 4
5 | 5 3 4
--------------------------------------
total page fault:9
Comments
Post a Comment