a) Maximum Memory Size = Largest Physical Address Space = $2^{32}B$
b) Largest Virtual Address Space = $2^{42}B$
c) Page Size = $2KB$ = $2^{11}B$,
Number of Pages = $\frac{Virtual\ Address\ Space}{Page\ Size}$ = $\frac{2^{42}}{2^{11}}$ = $2^{31}$
d) First Level Index Bits = $15\ bits$,
so, each first level page table will hold $2^{15}$ entries of page table entries.
e) Offset = Bits require to identify each word in a page = $11$ bits.
Second Level Index Bits + First Level Index Bits + Offset = Virtual Address Size.
Second Level Index Bits = Virtual Address Size – Offset – First Level Index Bits = $42\ –\ 11\ – \ 15$ = $16\ bits$.
so, each second level page table will hold $2^{16}$ entries of page table entries.
f) When a process is using a single-level page table, it will use the entire logical address space of the operating system.
To be precise, we have $2^{31}$ number of pages in this system. A single-level page table will use all of those pages for each process. A process may require only $2^{10}$ number of pages, but it has to declare the entire single-level page table.
Processes may not require that large number of pages, maybe the process is very small. As a result every process require a large size of constant page table in single level page table, which will be sometimes even larger than the process size.
Let $e$ = Page table entry size = $2\ bits$,
Page Table Size in Single Level Page Table = $2^{31}*e$ = $2^{31}*2\ bits$ = $2^{32}\ bits$.
So, what is the solution?
Divide the paging into multiple levels, so we don't need to use all the pages in the logical address space if not required. When a process need only 2^10 pages, we can fit that only in the single page table in the first level. As only one page-table on the first level is required, it will need only one entry in the second level page table.
Page Table Size in total for the above mentioned process= One First Level Page Table Size + One Second Level Page Table Size = $2^{15}*e$ + $2^{16}*e$ = $2^{15}*2\ bits$ + $2^{16}*2\ bits$= $(2^{16} + 2^{17})\ bits$ = $3*2^{16}\ bits$. (This is very less in size than a single level page table).