【发布时间】:2014-12-23 06:50:57
【问题描述】:
假设我们有一个 32 位的地址空间和一个页面大小为 4096 字节的线性页表,我知道为了找到一个特定的虚拟地址的页框,我们可以右移出地址值的 12 位。
但是,不同的地址在同一个页面中有不同的“位置”,我怎么知道两个地址是否来自同一个虚拟页面呢?
谢谢!
【问题讨论】:
标签: c linux unix memory operating-system
假设我们有一个 32 位的地址空间和一个页面大小为 4096 字节的线性页表,我知道为了找到一个特定的虚拟地址的页框,我们可以右移出地址值的 12 位。
但是,不同的地址在同一个页面中有不同的“位置”,我怎么知道两个地址是否来自同一个虚拟页面呢?
谢谢!
【问题讨论】:
标签: c linux unix memory operating-system
如果A和B是两个虚拟地址,页面大小为4096,
A 和 B 在同一页面 IIF
A /4096 = B / 4096
或者
A >> 12 = B >> 12
或者
A & ~4095 = B & ~4095
【讨论】: