kucy_zhou@163.c
驱动牛犊
驱动牛犊
  • 注册日期2003-11-26
  • 最后登录2005-11-04
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1201回复:3

怎样将驱动中的数读出?

楼主#
更多 发布于:2005-03-11 16:45
我想让应用程序定时从驱动中取数,驱动采数,应用读数。有什么好办法实现?我不想用共享内存和事件通知。
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-03-12 08:45
我想让应用程序定时从驱动中取数,驱动采数,应用读数。有什么好办法实现?我不想用共享内存和事件通知。

为什么不用共享内存和事件通知呢?这些已经是最快的方法,难道要靠CPU的寄存器吗,这个比上面两种快,但能控制的了吗?
不采用IRP_MJ_DEVICE_CONTROL共享内存的方式,采用IRP_MJ_DEVICE_CONTROL系统Buffer方式也慢,如果采用文件传递不是更慢,更不可靠吗?
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
kucy_zhou@163.c
驱动牛犊
驱动牛犊
  • 注册日期2003-11-26
  • 最后登录2005-11-04
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-03-15 16:24
是这样的,我以前用的共享内存和用事件由驱动来通知应用程序取数。可是我现在不想用驱动通知应用了。我想用应用来随时取驱动中的数,就是驱动不停的写数,应用程序读数。可是我想这样就涉及到共享内存的互斥了。当我往共享内存写数时,不能读数,可是当我在读数,不能往共享内存中写数。有点像fifo.
我看了以前的帖子,好像有人做过,想问问大家。想问问大家什么是二级缓存亚。
 
看了一些关于同步的东东都看晕了。在驱动开发中,像这样的问题对单处理器可以用提高IRQL,对多处理器用自旋锁可是我又觉得可能会发生死锁。大家都来讨论讨论亚!!
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-03-16 08:36
是这样的,我以前用的共享内存和用事件由驱动来通知应用程序取数。可是我现在不想用驱动通知应用了。我想用应用来随时取驱动中的数,就是驱动不停的写数,应用程序读数。可是我想这样就涉及到共享内存的互斥了。当我往共享内存写数时,不能读数,可是当我在读数,不能往共享内存中写数。有点像fifo.
我看了以前的帖子,好像有人做过,想问问大家。想问问大家什么是二级缓存亚。
 
看了一些关于同步的东东都看晕了。在驱动开发中,像这样的问题对单处理器可以用提高IRQL,对多处理器用自旋锁可是我又觉得可能会发生死锁。大家都来讨论讨论亚!!
 

想问问大家什么是二级缓存,现在的CPU即P2以上,都在CPU中,这与内存的同步问题,由CPU自己管理,你不用也不能管理
如果读一个数,或者所读数之间没有完整性要求,读写就没有冲突。
同步问题,在驱动开发中,像这样的问题对单处理器可以用提高IRQL,对多处理器用自旋锁可是我又觉得可能会发生死锁。
对多处理器用自旋锁只要规定获取顺序,是完全没必要担心死锁的
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
游客

返回顶部