Linux内核是否知道哪条指令与DMA相关?

时间:2014-05-06 15:14:22

标签: linux memory-management operating-system kernel dma

我遇到了与Direct Memory Access(DMA)概念相关的问题。 OS / Linux内核是否有一些方法可以知道哪条指令正在使用DMA,哪些不是?或者DMA完全由硬件实现,操作系统无法访问DMA控制器?

1 个答案:

答案 0 :(得分:1)

你的问题不是很清楚,因为DMA与CPU指令无关。它是一个处理内存访问而不涉及CPU的硬件。例如,从网络适配器逐字节地接收网络数据包将是非常无效的。相反,操作系统设置一个可由网络适配器访问的DMA区域,该区域将接收的数据直接写入该区域,而不必占用CPU。因此,操作系统当然知道DMA,它是管理其配置的任务之一,以便为更有用的工作保留CPU周期。