Operating System Paging concept I am quoting a paragraph from the book "Operating System Principles" by Galvin.


  Usually, each page-table entry is 4 bytes long, but that size can vary as well. A 32-bit entry can point to one of $2^{32}$ physical page frames. If frame size is 4 kB, then a system with 4-byte entries can address $2^{44}$ bytes (or 16 TB) of physical memory.


Now, I know we have $2^{44}$ bytes of memory because we have $2^{32}$ page frames and each frame size is 4 kB, i.e. $2^{12}$ bytes of memory, so physical memory is $2^{32}\cdot2^{12} = 2^{44}$.

Please help me to understand the following:


How did we get the number of frames as $2^{32}$?
If the logical memory space is $2^{32}$ then what should the physical memory space be (considering both the fully used and partially used logical address space concept)?
I found (surprisingly many) copies of that text on the web (see
http://www.slideserve.com/janna/virtual-memory). That helps
ascertaining there is no vocabulary mismatch.

The 32-bit entry makes for $2^{32}$ physical (not logical as you write in
your comment) address space for pages, i.e. $2^{32}$ frames.  The address
of the logical page is used for indexing the page-table, and the 4
bytes content of the corresponding entry of the page table is the
address of a page frame, i.e. a physical page.

So you have $2^{32}$ physical pages. But there is nothing in the above text that tells the size of the logical space. It could be much larger, with logical page addresses of 8 bytes, or it could be smaller which did happen on some architectures. For more details on this, see this discussion regarding virtual memory on 32 bits hardware. There may be other issues with more recent 64 bits hardware. The size of the page-table would tell you what is the size of the virtual memory space, i.e. of logical addresses.

Does this clarifies the problem?