Linux教程

操作系统I/O方式总结

本文主要是介绍操作系统I/O方式总结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

程序直接控制方式

  • 计算机每次从外部设备读一个字到存储器,CPU需要循环检查确定该字已经在数据寄存器中
  • 这种方式的缺陷在于,要知道CPU很快的,但是I/O速度相对很慢,那么导致CPU资源的极大浪费

中断驱动方式

  • 允许I/O设备打断CPU,让CPU向I/O控制器发送读命令之后,解放CPU, 继续做别的事情
  • 但每个字的传输仍需要中断CPU
  • 而且需要注意的是,虽然本方式比程序直接控制方式好,但是数据的每个字传输都要经过CPU,所以还是会消耗较多CPU的时间

DMA方式

  • 核心思想是在I/O设备和内存之间开辟直接的数据交换通路,彻底解放CPU
  • 整块数据的传送是在DMA控制器的控制下完成的
  • 只有一批数据传送结束之后,才会中断CPU

通道控制方式

  • I/O通道是指专门负责输入输出的处理机
  • 是对DMA方式的发展,在DMA中,还是需要”惊动“CPU大人的,而I/O通道拥有更高的自主权,能够决定处理多少数据完之后惊动CPU,能够决定把数据放在哪里
  • 而且DMA方式下,开辟的通路只能服务一个设备,而通道控制方式是可以服务多个设备的。
这篇关于操作系统I/O方式总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!