来自过去的操作系统最终的示例问题,如何计算此类问题?

一台计算机具有64位虚拟地址空间和2048字节的页面。页表条目占用4个字节。使用多级页面表是因为每个表必须包含在一个页面中。需要多少级?

我将如何计算?

最佳答案

由于页表必须适合页面,因此页表大小为2048字节,每个条目为4字节,因此一个表可容纳2048/4 = 512个条目。要寻址512个条目,它需要log2(512)= 9位。每个页面级别可用于编码条目的总位数为64-log2(2048)= 53位(地址空间的位数减去页面偏移位)。因此,所需级别的总数为53/9 = 6(向上舍入)。

x86-64默认页面表大小为4096字节,每个页面表必须适合一个页面,并且页面表项为8字节。当前的CPU仅实现48位虚拟地址空间。需要多少页表级别?

关于operating-system - 多级页表-分层分页,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5558886/

10-11 20:56