内存页面的大小 - 使用偏移量推理
size of page of memory - reasoning using offset
这是理论上的考虑,但我认为这个论坛还可以。如果我错了要求将它移到某个地方。
虚拟地址 (a8b43e) 映射到 (13fcb43e)。
关于页面大小我们能说些什么?
因此,我们应该查看偏移量的最大可能大小。
在这里,我们可以看到匹配的后缀是b43e。此外,我们应该看看二进制表示:8 和 c:
8 = 1000
c = 1100
所以最后两位匹配。整个页面大小为<= 2^{4*4+2} = 2^18。
可以吗?
您的计算是正确的,但这只为您提供了页面大小的上限,因为页面偏移量以上的某些地址位可能碰巧在物理地址和虚拟地址之间匹配。
要用这种方法找到真实的页面大小,需要查看大量样本并取最小匹配长度。
另外请记住,OS 可能出于某种原因(可能 page coloring)更喜欢具有更多匹配位的页面,因此即使大量样本也可能永远看不到匹配长度 =页面偏移量。
这是理论上的考虑,但我认为这个论坛还可以。如果我错了要求将它移到某个地方。
虚拟地址 (a8b43e) 映射到 (13fcb43e)。
关于页面大小我们能说些什么?
因此,我们应该查看偏移量的最大可能大小。
在这里,我们可以看到匹配的后缀是b43e。此外,我们应该看看二进制表示:8 和 c:
8 = 1000
c = 1100
所以最后两位匹配。整个页面大小为<= 2^{4*4+2} = 2^18。
可以吗?
您的计算是正确的,但这只为您提供了页面大小的上限,因为页面偏移量以上的某些地址位可能碰巧在物理地址和虚拟地址之间匹配。
要用这种方法找到真实的页面大小,需要查看大量样本并取最小匹配长度。
另外请记住,OS 可能出于某种原因(可能 page coloring)更喜欢具有更多匹配位的页面,因此即使大量样本也可能永远看不到匹配长度 =页面偏移量。