alexe_chen
驱动小牛
驱动小牛
  • 注册日期2002-03-21
  • 最后登录2006-07-31
  • 粉丝0
  • 关注0
  • 积分25分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:1119回复:6

请教内存的一些问题?

楼主#
更多 发布于:2002-07-18 11:59
对于用户层的进程来说,寻址的方式可能是:
虚拟地址通过段选机制,获得线性地址,在通过分页机制,得到实际的物理地址。
对于核态的驱动程序来说,首先得到的是与总线相关的地址,经过转换,得到线性地址,在通过MmMapIoSpace得到虚拟地址。
我们知道,线性地址,是指页表目录的地址。对于外围存储设备,如硬盘,软盘,光盘,对其的读写,都是通过cpu对内存操作,间接进行的。我不知掉具体是如何操作的。对于其他板卡上的内存,如显卡,自制板卡,是否也是通过内存间接操作,还是向简单的单片机那样直接选址操作,同时我们在创建deviceobj时,会设置标志来决定是否缓冲读写,这具体指的是什么?是否仅是指用户层操作时为提高读写效率而采用的一种管理方式?

另外,我在编写pci板卡的wdm类型驱动时,在处理IRP_MN_START_DEVICE的历程中,从irp包中得到AllocatedResourcesTranslated资源是否时与总线相关的?仅需使用MmMapIoSpace转换即可?另外,AllocatedResources 和它有什么区分?而且我用工具在2000下调试wdm类型的和nt kmd 类型的driver时,发现AllocatedResourcesTranslated中指示的地址与nt类型中得到的总线相关的地址是相同的,难道它是与总线相关的地址?
好好学习,天天向上...
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2002-07-18 18:24
看书。
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2002-07-18 18:40
用户被禁言,该主题自动屏蔽!
alexe_chen
驱动小牛
驱动小牛
  • 注册日期2002-03-21
  • 最后登录2006-07-31
  • 粉丝0
  • 关注0
  • 积分25分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-07-19 10:06
老兄:
具体一点好吗?给个书名总可以吧?
好好学习,天天向上...
Reehac
驱动牛犊
驱动牛犊
  • 注册日期2001-06-27
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-07-23 08:15
你的问题解决没有?我也遇到这个问题了?希望能给一些经验?
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2002-07-23 09:16
walt oney的书。本站好像有的。
alexe_chen
驱动小牛
驱动小牛
  • 注册日期2002-03-21
  • 最后登录2006-07-31
  • 粉丝0
  • 关注0
  • 积分25分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-07-24 10:35
sorry,最近有点烦、问题没有解决
好好学习,天天向上...
游客

返回顶部