edited by
1,119 views
1 votes
1 votes

"In a 32-bit machine we subdivide the virtual address into 4 segments as follows:

[10-bit 8-bit 6-bit 8 bit]
We use a 3-level page table, such that the first 10-bit are for the first level and so on.

What is the size of a page table for a process that has 256K of memory starting at address 0?
Page Table Entry is 2 Bytes."

i have a confusion..the third level page table are referring to each of the 2^8 addresses,okay,we have found 2^10 pages/entries,so each of the third level page table has only 2^6 entires,right? so accordingly shouldnt the second level table contain 16 entries? 16 * 2^6 =2 ^10. entires? and if second level contains 16 entries,then first page table has only 1 entry so, 2+ (2*16) + (2^6*2)*16. please clear my concept. should we take the entire page table size and not just the entry?

edited by

1 Answer

Best answer
2 votes
2 votes

Using the subdivision above, the first level page table points to 1024 2nd  level page tables, each pointing to 256 3rd page tables, each containing 64 pages.

We need we need 16 third-level page tables which is each of 64  i.e. 16*64*256 = 256k. [process size]

Therefore we need 16 entries in a 2nd level page table [ here we need one block because one block contain 256 entries but need only 16] 

And one entry in the first level page table. [ here we need one block because one block contain 1024 entries but need only 1] 

Therefore the size is: one block only [1024 entries for the first table, (one block)256 entries for the 2nd level page table, 16 3rd level page table containing 64 entries each.

selected by

Related questions

3 votes
3 votes
0 answers
1
sushmita asked Jan 5, 2017
1,081 views
A computer system has a 36-bit virtual address space with a page size of 8K, and 4 bytes per page table entry.What is the maximum size of addressable physical memory in t...