NIO的Channel与DMA对比
I/O通道控制方式与DMA方式的bai异同点:
du通道控制(Channel Control)方式zhi与DMA方式类似,也是一种以内存为中心,实现设备dao和内存直接交换数据的控制方式。
与DMA方式不同的是,在DMA方式中,数据的传送方向、存放数据的内存始址以及传送的数据块长度等都由CPU控制,而在通道方式中,这些都由通道来进行控制。另外,DMA方式每台设备至少需要一个DMA控制器,一个通道控制器可以控制多台设备。
ps: 以上来源是百度搜索, 忘了回答的人了
1. DMA是为了解放在IO操作时每一个字符都需要由CPU来管理传输, 在接到网卡中断时, cpu会初始化DMA, 打个比方, 你在打游戏,
可是门铃响了, 外卖到了, 你new 了一个girl friend 告诉她, 你定的什么外卖, 数量多少, 需要放在那里, 然后你继续好好打游戏, 其他交由她去完成(去的快递, 放入指定位置, 校验是否完成), done之后, 会回来中断你打游戏, 你就可以去吃外卖了, 节省你的精力
明白了DMA就好理解NIO的Channel了吧.
再来张图: