收录日期:2018/10/23 18:03:47 时间:2016/05/20 18:27:28 标签:驱动开发/核心开发
在操作系统中,我们都知道,数据传送控制方式有四种:
1)程序直接控制方式
就是由用户进程来直接控制内存或CPU和外围设备之间的信息传送
2)中断方式
是为了减少程序直接控制方式中CPU等待时间以及提高系统的并行工作程度,采用中断方式来控制外围设备和内存与CPU之间的数据传送
3)DMA方式
DMA方式是在要求转送的数据块全部传送结束时要求CPU进行中断处理
4)通道控制方式
数据的传送方向,存放数据的内存始址以及传送的数据址长度等都由专管输入输出的硬件——通道来控制。

而我在很多驱动程序的书中,只看到程序控制方式和DMA方式。

我的问题是:
是否驱动程序中就只有这两种传输方式?其它两种传输方式都可以并入到DMA方式中去?

比如 我现在正在给一个PCI9054写一个驱动程序,该板子是采用一般中断控制方式的(即上面的第二种传输方式)。请问是否可以采用所有驱动程序书中所介绍的DMA方式,还是必须写一个一般中断控制方式的驱动程序?

请高手指教!


应该是四种常用的:(还有一些特殊的)
中断方式与通道方式是不可少的,但在家用PC中通道技术(方式)与DMA技术(方式)有一些类同,不同的是通道方式一般不占有总线是在CPU管理下的数据传送

是否用DMA或其它主要看你的应用对象如果你对数据传送的量大且有速度要求则可以用DMA
"是否驱动程序中就只有这两种传输方式?其它两种传输方式都可以并入到DMA方式中去?"
不同意!
四种方式中用哪一种,视情况而定,没有谁包含谁的说法
DMA方式时直接内存访问,因此不占用CPU资源,一般适用于外围低速设备和内存之间的数据传输,数据传输时是以块形式传输。
大家说了这么多,可是我在各种开发驱动的书中只看到程控方式和DMA方式。
而该硬件是中断控制传输方式。我不知道怎么写驱动?各位能不能给点提示?
看看windows 设备驱动程序(VXD与WDM)开发实务,可能有帮助。好像这本书中也是讲的DMA ,在这方面我跟你一样 也不是很了解
惨的是我的板子并没有实用DMA传输方式啊:(
楼上说的是什么板子呀,PC机板上会没有----难道你用的是工控机的母板

jbulider9+weblogic7+mysql DataGrid如何编辑多行 百分相送,请问我现在用javascript打开excel成功了,可是放在tomcat中运行就报错 诸位好,问一个善于模式对话框表单提交的问题 关于Semaphore问题 系统XP出现的问题?请高手解决! 旧问题解决了又出现了新的问题,不知道怎么办啊,不知道哪为大虾遇到过类似的情况,教我啊 请教高手我装了WIN2000后还想装WIN98,可是我又不想再重新安装2000,应该怎么安装? 菜鸟问题System.Web.UI.HtmlControls.HtmlInputFile空间提交后如何保留text框中的数据呢 一个想不通的问题 case when null=null then 222 else 0 end ... win2000 问事处题! iframe 的问题 ?急啊 请问各位一个picture box问题! 当把调用了水晶报表的应用程序拷贝到别人的机子上运行时,可以查看没有使用crystal sql designer数据源的水晶报表,但是却无法查看使用了 ----JAVA的几个基础问题,请各位大侠快快帮我这个菜鸟入门啊!谢谢拉----!!!!!!!!!!!!!!!!!!!! 如果停用ISA的DNS转发? SQL查询问题 请高手帮忙看看,我是VB初学者。这段代码搞了2天了。程序出现新问题 资料 程序中线程对全局变量的访问方式.(咨询) [Linker Error] Expected file name:.表示什么问题? 能指教吗?C初学者的疑惑 CryStal Reports9.2的问题 ALTER TABLE DoorParam ADD Default8 BIT DEFAULT 1有点不明白? 请问各位前辈 c#开发是不是大多都在asp方面。各企业招的c#程序员大多做什么? 请各位看看我这样写对不对呢?--小妹在线等待答复,谢谢啦 珠海的工资高不高,做程序员? 如何可获用户的域名及登录名? 不安装oracle客户端访问服务器oracle,要怎么做??? 求救求救!页面分辨率的问题!!