我如何知道这个系统中有多少物理帧和虚拟页可用?



假设给定以下属性:

  • 32位虚拟地址
  • 16kbyte虚拟页面大小
  • 32位页表项
  • 8gb物理内存

(1Gb = 230字节,1kb = 210字节)这是否意味着页表必须有2^20=1048576?我如何计算它的物理框架和虚拟页面?

物理页大小必须匹配虚拟页大小(16 KiB)。

将8gib物理内存划分为16kib页面;你最终会有524288页的物理RAM。然而,物理地址空间也被使用的东西不是RAM (ROM,内存映射设备等),并且经常一些物理内存被"窃取"。用于其他目的(如集成图形),并使其无法通过。任何正常的物理地址。考虑到这一点,正确的答案是"物理帧的数量是未知的,没有足够的信息"。

如果虚拟地址为32位,则虚拟地址空间大小为4gib。如果将4 GiB的虚拟地址空间划分为16 KiB的页面,那么每个虚拟地址空间将得到262144个虚拟页面。然而;虚拟地址空间的数量是不可知的(并且每个虚拟地址空间的数量可能会被用作"内核空间",在所有虚拟地址空间中都是相同的);所以正确的答案是"虚拟页面的总数(对于所有虚拟地址空间)是未知的,没有足够的信息"。

最新更新