Paging Tecnique

You might also like

You are on page 1of 1

#include<stdio.

h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
void main()
{
char *VIRTUAL_ADDRESS;
char *ptr,c= ':';
char dest[20];
int NO_FRAMES;
int PAGE_TABLE[20][1]={0};
int PAGE;
int OFFSET;
int FRAME;
int i=0;
clrscr();
printf("Enter number of frames allocated to process:\n");
scanf("%d",&NO_FRAMES);
printf("Enter page table for the process\n");
for(i=0;i<NO_FRAMES;i++);
{
printf("Enter page number that frame [%d] contain:",i);
scanf("%d",&PAGE_TABLE[i][0]);
}
clrscr();
for(i=0;i<NO_FRAMES;i++)
printf("%d \t %d\n",i,PAGE_TABLE[i][0]);
printf("Format of virtual address is pppp:oooo\n");
printf("Enter virtual address\n");
scanf("%s",VIRTUAL_ADDRESS);
ptr=strchr(VIRTUAL_ADDRESS,c);
strxfrm(dest,VIRTUAL_ADDRESS,ptr-VIRTUAL_ADDRESS+1);
PAGE=atoi(dest);
VIRTUAL_ADDRESS+=(ptr-VIRTUAL_ADDRESS+1);
OFFSET=atoi(VIRTUAL_ADDRESS);
for(i=0;i<NO_FRAMES;i++)
{
if(PAGE_TABLE[i][0]==PAGE)
{
FRAME=i;
continue;
}
}
printf("PHYSICAL ADDRESS:=%d:%d",FRAME,OFFSET);
}

You might also like