OS 10
OS 10
}
int page_number = logical_address / PAGE_SIZE;
int offset = logical_address % PAGE_SIZE;
int frame_number = page_table[page_number];
int physical_address = (frame_number * PAGE_SIZE) + offset;
printf("Logical Address: %d\n", logical_address);
printf("Page Number: %d\n", page_number);
printf("Offset: %d\n", offset);
printf("Frame Number: %d\n", frame_number);
printf("Physical Address: %d\n", physical_address);
}
return 0;
}
OUTPUT:
Enter the frame numbers for each page (0 to 15):
Page 0 -> Frame: 3
Page 1 -> Frame: 7
Page 2 -> Frame: 5
Page 3 -> Frame: 2
Page 4 -> Frame: 10
Page 5 -> Frame: 8
Page 6 -> Frame: 1
Page 7 -> Frame: 0
Enter number of logical addresses to translate: 2
Enter logical address 1 (0 - 4095): 1300
Logical Address: 1300
Page Number: 2
Offset: 276
Frame Number: 5
Physical Address: 276 + (5 * 512) = 2816
Sprno:9223