I am revising operating systems theory ( I'm Italian forgive me for bad english) and there is a slide that states:
"If page size is small then we avoid internal fragmentation (I get that) but
we have larger size of page table and therefore larger cost of managing this page table".
"If page size is large then we have a larger amount of internal fragmentation but we do have
a decreased page table size that's easier to manage. I am revising operating systems theory (I'm Italian, forgive me for bad English) and there is a slide that states:
If page size is small then we avoid internal fragmentation (I get that) but we have larger size of page table and therefore larger cost of managing this page table".
If page size is large then we have a larger amount of internal fragmentation but we do have a decreased page table size that's easier to manage.
I don't understand how page size could affect size of page table. Page table (expect from TLB) is saved in memory. I assume that, the amount of free memory we have for a page table is fixed (am I right?) (because we also need memory for OS, processes, and a bunch of other things).
Size of adress in system is also fixed , isn't it?. So if we use for instance 32 -bitsbits for adressesaddresses then we need$$2^{32}$$ $2^{32}$ entries in the page table no matter what. (Expect of course , if we use COW: "Copy on write" then we probably need less).)
Anyway, if page size is smaller, the size of page table should be : $$\#\text{entries}*page_{size}$$ - where #entries stands for number of entries in the page table. So to me it seems like page size and page table size are analogous.
I
I am totally missing something here . Could you help?