I was reading a book which talks about virtual memory:
Intel Core i7 supports a 48-bit (256 TB) virtual address space and a 52-bit (4 PB) physical address space
below is my question
Q1-since we mostly use 64 bits machine, how come the virtual address is only 48 bits? Shouldn't it be 64 bits virtual memory as well?
Editor's note: this part is an exact duplicate of Why do x86-64 systems have only a 48 bit virtual address space?
(Editor's note: this part is an exact duplicate of Why in x86-64 the virtual address are 4 bits shorter than physical (48 bits vs. 52 long)?)
Q2-How come the address space of physical memory(52 bits) is greater than virtual memory's(48 bits), shouldn't it be that virtual memory's address space should be greater than physical memory's?
(Editor's note: this part is a duplicate of several questions, including Is a process' page table mapped to Kernel address space? and Where is page table located?)
Q3-my understanding is that: all page tables stored in kernel memory which is invisible to user, is my understanding correct?