Correct Answer Option B Because,....
EXAMPLE :
Q) A proess having 32 bit VAS and a page size of 4KB and using only 2^16 Bytes
1)with single level paging:
then with a single level paging the size of page table will be 2^20*2^2=4MB
2)with multilevel paging:
if we use multilevel paging the size of the page table can be reduced to 8KB (since,the pages are stored from address 0 i.e together at one place )
VAS :
No of pages in the process = 2^20 pages
No,, of useful pages = 2^16/2^12 = 2^4 = 16 pages
so,at first level page table only 16 entries are useful
all these can be grouped to one chunk of size 2^10 entries in first level PT
so, at second level page table the no,, of useful entries will be only one
since,we are dealing with chunks...
i.e 1*2^10+1*2^10 = 8KB
Here we can clearly see that the multilvel paging reducing the size of page table as compared to single level paging right.
so,multilevel paging always helps to reduce the size of page table needed to implement the virtual address space of a process is true but, it doesn't mean that multilevel paging is forced to reduce the size of page table we can stop at any level i.e,it is a big misconception that if the page table size is 4MB and page size is 4KB that's why we use multilevel paging to fit that page table in the availble page space.why we even want to fit in one page we can span over the other pages and even if the size of the page table is fit enough with the page size we can still use multilevel paging to reduce the page table size and to save memory.here everything is our choice i.e we have divided the VAS in to 10 | 10 | 12 but if we want we can leave it without dividing further 20 | 12 .although the process size is too small and page table size is too big we are just trying to reduce size of page table and store with few memory.