use*_*314 1 linux memory linux-device-driver linux-kernel
我对这个功能感到困惑:
void*page_address(struct page*page)
其中(1)"根据"Linux Kerenl developpement 3rd edition"将给定页面转换为其逻辑地址"(2)"根据"了解linux内核>>"返回与页面框架相关的线性地址"(3)根据"了解linux虚拟内存管理器""返回页面的物理地址"
哪一个是正确的呢?
让我们看(1):这个函数采用指向物理页面(页面框架)的指针,那个指针不是"与该页面框架相关联的逻辑地址"吗?那么指针值和返回值之间有什么区别呢?谢谢.
1和2都是正确的 - 它们是两种说同样的方式(虽然解释2更清楚).说明3不正确 - page_address()返回页框的虚拟地址,而不是物理地址.
page_address()并没有采取一个指针到页/页帧.它需要一个指针struct page,它是一个代表页面的内核数据对象.
| 归档时间: |
|
| 查看次数: |
3351 次 |
| 最近记录: |