let's assume we have 4 GiB of RAM and we use a page table size of 4 kiB, with 32 Bit addresses.
After my calculations, I got:
- we can only address a maximal of 2^32 addresses;
- each page table has a total of 2^20 entries;
- in total we have 4 GiB/4 kiB = 1048576 pages.
But what I can't understand is, if a page table has 2^20 entries we already covered all the possible addresses with this page table. How is possible if each process has his own page table? It should then be possible to have the same physical address on more than one page table, which could cause severe problem, or am I missing something?
Many thanks in advance for your help.