阅读:1201回复:3
怎样将驱动中的数读出?
我想让应用程序定时从驱动中取数,驱动采数,应用读数。有什么好办法实现?我不想用共享内存和事件通知。
|
|
沙发#
发布于:2005-03-12 08:45
我想让应用程序定时从驱动中取数,驱动采数,应用读数。有什么好办法实现?我不想用共享内存和事件通知。 为什么不用共享内存和事件通知呢?这些已经是最快的方法,难道要靠CPU的寄存器吗,这个比上面两种快,但能控制的了吗? 不采用IRP_MJ_DEVICE_CONTROL共享内存的方式,采用IRP_MJ_DEVICE_CONTROL系统Buffer方式也慢,如果采用文件传递不是更慢,更不可靠吗? |
|
|
板凳#
发布于:2005-03-15 16:24
是这样的,我以前用的共享内存和用事件由驱动来通知应用程序取数。可是我现在不想用驱动通知应用了。我想用应用来随时取驱动中的数,就是驱动不停的写数,应用程序读数。可是我想这样就涉及到共享内存的互斥了。当我往共享内存写数时,不能读数,可是当我在读数,不能往共享内存中写数。有点像fifo.
我看了以前的帖子,好像有人做过,想问问大家。想问问大家什么是二级缓存亚。 看了一些关于同步的东东都看晕了。在驱动开发中,像这样的问题对单处理器可以用提高IRQL,对多处理器用自旋锁可是我又觉得可能会发生死锁。大家都来讨论讨论亚!! |
|
地板#
发布于:2005-03-16 08:36
是这样的,我以前用的共享内存和用事件由驱动来通知应用程序取数。可是我现在不想用驱动通知应用了。我想用应用来随时取驱动中的数,就是驱动不停的写数,应用程序读数。可是我想这样就涉及到共享内存的互斥了。当我往共享内存写数时,不能读数,可是当我在读数,不能往共享内存中写数。有点像fifo. 想问问大家什么是二级缓存,现在的CPU即P2以上,都在CPU中,这与内存的同步问题,由CPU自己管理,你不用也不能管理 如果读一个数,或者所读数之间没有完整性要求,读写就没有冲突。 同步问题,在驱动开发中,像这样的问题对单处理器可以用提高IRQL,对多处理器用自旋锁可是我又觉得可能会发生死锁。 对多处理器用自旋锁只要规定获取顺序,是完全没必要担心死锁的 |
|
|