虚拟内存:如果每个页table条目映射一个字并需要4个字节,对于32位机器整个页table有多大?

Virtual memory: If each page table entry maps one word and requires 4 bytes, how large is the whole page table for a 32-bit machine?

当我尝试解决它时,我得到它的虚拟地址是 20 位,因此条目的数量是 2^20,每个条目包含 1 个字,即 4 个字节。因此,2^20*4 字节,即 4 194 304 字节~4 MB 是页面的大小 table。 正确的?

缺少信息:页面大小和页面 table 构造(平面或分层)。

但是,假设页面大小为 4k 字节,页面大小为 tables,则 页码 为您计算的 20 位 (32-12)。 (虚拟地址仍然是 32 位,物理地址可以相同、更小或更大)。

这意味着对于每个使用虚拟内存的进程,它将有一个 4MB 的页面 table,假设进程的虚拟地址 [=18] 中的每个页面都有一个页面 table 条目=](并非总是如此,例如,某些 MIPS 进程布局最多只会将较低的 2GB 分配给进程)。