红联Linux门户
Linux帮助

关于内核中虚拟地址与物理地址的问题,麻烦哪位大侠再解答下,还是不懂

发布时间:2007-08-17 15:52:20来源:红联作者:bingoyee
catchingfish在他的一篇帖子里面解释说,“正是因为有了这种映射关系,对内核以 PAGE_OFFSET 启始的虚拟地址的分配也就是对物理地址的分配(当然这有一定的范围,应该在 PAGE_OFFSET与 VMALLOC_START 之间,后者为 vmalloc() 函数分配内存的启始地址)”,我不知道我这么理解对不对。
线性地址为4G的空间,而真正的内存物理地址被映射到从3G开始的线性地址空间中,而且在linux中,由于虚拟地址空间与线性地址空间实际上是相同的,所以这里的物理地址+上PAGE_OFFSET就是线性地址,也就是虚拟地址。但是我不理解的是,这样说的话,那分页机制怎么能够与简单的+运算对应上呢?我脑子都乱七八糟了,不知道到底是什么意思。
哪位好心人耐心解答下吧,3Q
文章评论

共有 1 条评论

  1. theoneclan 于 2007-08-23 10:16:51发表:

    我也不太懂,请高手指点一二,谢谢了 !!!