如果虚拟地址空间可以大于物理地址空间,那么地址映射如何存储在内存中?
假设我们正在使用具有40个物理地址位的系统。物理地址总空间(假定字节可寻址内存)为字节,即1 TiB。而且,如果虚拟地址的长度为48位,则意味着虚拟内存可用的地址比物理内存中的地址要多。2402402^{40} 这对我来说很有意义,因为“多余”地址也可能指向硬盘位置。但是,我不了解虚拟地址和物理地址之间的转换是如何发生的。我假设有一个映射存储在某处,该映射将VAS位置链接到物理位置。如果虚拟地址位置多于物理地址,那么如何将所有这些映射存储在内存中?至少需要48位来存储每个虚拟地址,然后再需要40位来存储其映射到的物理位置。因此,显然,您不能仅存储每个虚拟地址与其物理对应物的1:1映射,因为映射每个位置将比物理内存本身占用更多的内存。 我在这里到底想念什么?