问题
在学到SPOOLING技术的时候我有一个疑问,为什么输入设备和输出设备要以内存为中介,去和磁盘进行交互呢?我记忆中IO设备是有通道或者DMA的,如果可以直接输出到磁盘中,不用占用内存,一定是更好的选择吧!
思考
那么我首先复习了DMA方式和通道方式,发现了DMA方式和通道方式都是直接通过块设备和主存进行交互的,只不过通道方式的自主性程度更高一些。
那么问题就转化为了为什么通道方式和DMA方式不采用直接和磁盘进行交互的方法呢?好吧,这有点太深奥了。
总之,就是先掌握因为IO方式即便是DMA和通道方式都是通过块设备和内存进行交互,而程序中断和程序查询方式更是了,因此,想要IO设备直接和磁盘进行交互,没有这个硬件基础,也就不可能实现这样的操作。
总结
这里的知识可以说是错综复杂,IO也是最令我困惑的地方,这篇文章没有讨论什么东西,也没有探讨IO设备为何不能与磁盘直接交互的深层原因,欢迎博友发表见解,不胜感激!