阅读:1362回复:12
DMA驱动请教 20分
我现在在做1394驱动程序,1394部分没有问题了,可以通讯。
但有个问题是,如何将从1394端口发来的数据快速的存储到硬盘。 目前的要求是至少100Mbit/s。 我想用DMA方式该不是什么问题吧,但我有个问题是怎么将1394的IRP请求中得到的MDL到硬盘文件,好像DS下的KFile可以的 高手帮我看看可以吧! |
|
|
沙发#
发布于:2002-07-05 09:08
100Mbit/s?可是12。5Mbyte/s呀,硬盘什么都不干了,就写你的数据。
|
|
板凳#
发布于:2002-07-05 09:11
dma是直接内存存取
关硬盘什么事呀 |
|
|
地板#
发布于:2002-07-05 11:58
dma是直接内存存取 硬盘也支持DMA啊,要把收到的数据保存起来啊,不然接收还有什么用啊。 |
|
|
地下室#
发布于:2002-07-05 12:00
100Mbit/s?可是12。5Mbyte/s呀,硬盘什么都不干了,就写你的数据。 肯写就OK!怕的是连写都写不了 |
|
|
5楼#
发布于:2002-07-05 12:07
硬盘的DMA也是指硬盘与主存之间DMA,而不是与其它设备DMA。Direct Memory Access.
|
|
|
6楼#
发布于:2002-07-05 12:12
硬盘的DMA也是指硬盘与主存之间DMA,而不是与其它设备DMA。Direct Memory Access. 是啊,找个PC内存空间做中间人是不是可行啊? |
|
|
7楼#
发布于:2002-07-05 12:22
[quote]硬盘的DMA也是指硬盘与主存之间DMA,而不是与其它设备DMA。Direct Memory Access. 是啊,找个PC内存空间做中间人是不是可行啊? [/quote] 你这样做DMA其实和硬盘没关系。只是从1394通过DMA传输到内存中,然后你再从内存中把数据存到硬盘上。 至于速度能否如此快,你要自己试试看了 |
|
|
8楼#
发布于:2002-07-05 12:27
[quote][quote]硬盘的DMA也是指硬盘与主存之间DMA,而不是与其它设备DMA。Direct Memory Access. 是啊,找个PC内存空间做中间人是不是可行啊? [/quote] 你这样做DMA其实和硬盘没关系。只是从1394通过DMA传输到内存中,然后你再从内存中把数据存到硬盘上。 至于速度能否如此快,你要自己试试看了 [/quote] 从内存保存数据到硬盘的话是通过文件操作来实现吗? 那所谓的硬盘支持DMA是什么意思,对硬盘的文件读写就会自动采样DMA方式吗》该不会吧 |
|
|
9楼#
发布于:2002-07-05 12:30
硬盘支持DMA的意思是你在读写硬盘的时候也可以建立一个DMA来传输数据。不过你想自己实现这个功能太难太难,它可是最最最底层的了。你还是用文件操作吧。
|
|
|
10楼#
发布于:2002-07-05 12:35
硬盘支持DMA的意思是你在读写硬盘的时候也可以建立一个DMA来传输数据。不过你想自己实现这个功能太难太难,它可是最最最底层的了。你还是用文件操作吧。 要是那么那么底层,如此难用,还声称什么支持DMA啊,用都不敢用 555 |
|
|
11楼#
发布于:2002-07-05 12:44
切……………… 对硬盘还是老老实实用文件得了。 硬盘DMA也不是给一般的驱动用地。 但如果没有DMA,估计文件操作也不会那么快。 |
|
|
12楼#
发布于:2002-07-05 12:49
[quote] 切……………… 对硬盘还是老老实实用文件得了。 硬盘DMA也不是给一般的驱动用地。 但如果没有DMA,估计文件操作也不会那么快。 [/quote] 呵呵 |
|
|