@Harsh Kumar, understand the basic point
why we use page tables? for loading a processes in the memory non-contiguous,
if your architecture, load the process in contiguous then no need of page tables
but if your architecture, load the process in non-contiguous then you should need of page tables, even though your process get the contiguous memory by random in this architecture, you should have page table for a process.
a process does not contain a whole page table
Actually the statement which mam want to deliver
a process does not contain a whole page table in a single page
all the processes have their page tables of equal sizes or unequal sizes
it's depend upon the processes, but note that size of PTE and size of Page are equal for every process in that architecture
what the formula of size of page table?
Page Table Size = no.of pages in the PROCESS * PTE
= $\frac{Process \; Size}{Page \; size}$ * PTE
in this formula, PTE and Page size is constant ===> Page Table size depend upon PROCESS size
does the page table of each process consists of same number of entries..?
no.of entries in the page table = no.of pages in the PROCESS = $\frac{Process \; Size}{Page \; size}$
∴ No.of entries depend upon the PROCESS size
reason to use valid/invalid bit ?
you can easily understand this point, after reading virtual memory concept..... I hope you didn't go up to that right now.
the compiler assumes that for each process, all of the virtual address space is available to the process.
i need some more information, to judge this statement.