fwzfwz1
驱动中牛
驱动中牛
  • 注册日期2002-11-01
  • 最后登录2007-06-01
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
阅读:1022回复:3

虚拟地址对应的物理地址

楼主#
更多 发布于:2003-06-23 14:49
kmalloc获得的虚拟地址范围为3G-high_memory ,这段虚拟地址对应的物理地址为整个系统内存;vmalloc获得的虚拟地址范围为high_memory+8M至4G,那么他又对应那一个物理空间呢,不应该再是系统内存了吧;而用户虚拟地址空间对应的物理地址应该是系统内存,那么是否内核空间和用户空间同时对应一个物理空间。本人对此很困惑,希望得到高手的指点!
有了驱动,人才有了力量。
fwzfwz1
驱动中牛
驱动中牛
  • 注册日期2002-11-01
  • 最后登录2007-06-01
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-06-23 21:12
驱友们,指点一下!!
有了驱动,人才有了力量。
jyhlc
驱动牛犊
驱动牛犊
  • 注册日期2002-03-11
  • 最后登录2005-11-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-06-24 15:02
需要首先把物理内存、系统内存的概念弄清楚的吧
根据我对你的理解,系统内存是指paging之前的地址,而物理地址则是系统上的memory,那么这中间是有一个转换的
vmalloc是对进程空间的分配,kmalloc是对内核空间的分配
记得好像还有一个内存空间分配的函数是直接分配物理地址的
好像没有写清楚,不写了
自己找资料看看吧
fwzfwz1
驱动中牛
驱动中牛
  • 注册日期2002-11-01
  • 最后登录2007-06-01
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-06-24 15:09
系统内存其实就是计算机的RAM,物理地址是包括系统内存、I/O内存在内的这个物理空间;而vmalloc绝对不是对进程空间分配,这一点LDD的书已经讲清楚了。
有了驱动,人才有了力量。
游客

返回顶部