一次读数据操作
其核心就是让我们的CPU去轮询
由于我们的I/O设备速度很慢,如果采用轮询会大大浪费我们的CPU资源,所以当引入我们的中断机制,当CPU发出了读/写命令之后,可将等待I/O的进程阻塞,先切换搭配别的进程执行,当I/O完成之后,控制器会向CPU发出一个中断信号,CPU检测到中断信号之后,会保存当前进程的允许环境信息,转去执行中断程序,处理中断的过程中CPU从I/O控制器读一个字的数据仅CPU的寄存器,再写入主存
因为还是需要CPU作为中介,每次读写是一个字为单位
优点:与程序直接控制方式的轮询相比,中断驱动方式中,I/O控制会通过中断信号主动报告已完成,CPU就不需要不停的轮询来检查,可以实现CPU和I/O设备可并行工作,提高CPU的利用率
每个字在I/O设备和内存之间的传输还是需要。需要经过CPU,频繁的中断处理会消耗较多的CPU时间
中断驱动方式解决了程序直接控制方式
的问题,但是每一次只能读/写一个字,导致CPU频繁切换,耗费了很多时间。于是人们又发明了DMA方式。通道:一种硬件,可以理解为是弱鸡版的CPU,通道可以识别一些列的通道指令
CPU干预的频率是极低的,通道会根据CPU的指示执行相应的通道程序,只有完成了一组数据块的读/写才需要发出中断信号
传输的单位——每次读/写一组数据块
缺点就是实现复杂,需要专门的通道硬件支持