title: number of entries in a page in the virtual memory?
body: <p>i am studying the virtual memory implementation and i got really confused about the sizes of the page tables and the page size , i searched the internet but i found only questions about page table size and not about the page size.
  assume we have virtual memory size 32 bit each word .
  and the size of each page is <code>4kb</code> (this is given)
  then in order to reach a specific byte in the page we need an offset of 12 bits ( <code>4kb = 2^12</code> bits).
  also number of pages for each process is <code>2^20 = 1mb</code> , which means we have <code>2^20</code> entries in the page table , and if we assume that each entry is 4 bytes , the the page table size is 4mb.</p>
  <p>so my question is :</p>
  <p>how many entries are in each page ?
  because if i do the same calculations that i did in page table , then because of the 12 bits for the offset there are <code>2^12</code> entries in each page , and each entry is 4 bytes , then each page size is <code>4*2^12</code> so the page size is 16 kb ?
  or is the number of entries is <code>2^10</code> , and each entry 4 bytes so the page size is 4kb , but then why is the offset 12 bits
  i am genuinely confused ! i hope someone could explain what is correct</p>