如何确定多个虚拟地址是否属于同一页面?

时间:2014-10-27 23:37:05

标签: c linux unix memory operating-system

假设我们有一个32位的地址空间和一个页面大小为4096字节的线性页表,我知道为了找到一个特定的虚拟地址'页面帧我们可以右移12位地址值。

然而,不同的地址有不同的位置"在同一页面中,我怎么知道两个地址是否来自同一个虚拟页面?

谢谢!

1 个答案:

答案 0 :(得分:3)

如果A和B是两个虚拟地址,页面大小为4096,

A和B在同一页IIF上

    A /4096 = B / 4096

或者

    A >> 12 = B >> 12

或者

   A & ~4095 = B & ~4095