Determine page table size for virtual memory

Viewed 49373

Consider a virtual memory system with a 38-bit virtual byte address, 1KB pages and 512 MB of physical memory. What is the total size of the page table for each process on this machine, assuming that the valid, protection, dirty and use bits take a total of 4 bits, and that all the virtual pages are in use? (assume that disk addresses are not stored in the page table.)

3 Answers

size of the page table= total no of page table entries*size of the page table entry

STEP 1:FINDING THE NO OF ENTRIES IN PAGE TABLE:

no of page table entries=virtual address space/page size

=2^38/2^10=2^28

so there are 2^28 entries in the page table

STEP2:NO OF FRAMES IN PHYSICAL MEMORY:

no of frames in the physical memory=(512*1024*1024)/(1*1024)=524288=2^19

so we need 19 bits and additional 4 bits for valid, protection, dirty and use bits totally 23 bits=2.875 bytes

size of the page table=(2^28)*2.875=771751936B=736MB
Related