Chinaunix

标题: 内核地址映射为何要加page_offset [打印本页]

作者: mordorwww    时间: 2016-02-10 14:08
标题: 内核地址映射为何要加page_offset
内核地址映射为何要加page_offset, 不直接等号映射
作者: Buddy_Zhang1    时间: 2016-02-11 09:13
因为内核将 0 ~ 3G 的虚拟地址分配给用户空间,只有 3G ~ 4G 的地址分配给内核.
为了加速内核使用物理内存且防止用户空间进程直接访问物理内存,
内核使用直接映射的方式将物理地址映射到虚拟地址,之间的映射关系比较简单,主要是为了加速虚拟地址到物理地址的转换.
内核地址从 3G 开始映射,所以内核部分的虚拟地址 = 物理地址 + PAGE_OFFSET.
作者: mordorwww    时间: 2016-02-15 09:25
为何不这样:


内核地址从 0G 开始映射(到1G),所

      以内核部分的虚拟地址 = 物理地址




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2