轮询

轮询是一种IO 控制方式,又称为「忙-等待方式」。早期的计算机系统中,没有中断 IO 控制机构,处理机对 IO 设备直接进行控制。使用查询指令测试设备控制器的忙闲状态位,决定内存和设备是否能交换数据。

  1. 查询指令:查询设备是否就绪;
  2. 读/写指令:当设备就绪时,执行数据交换;
  3. 转移指令:当设备未就绪时,执行转移指令转向查询指令继续查询。

img-2024-04-26 19-50-21.png

几个设备同时要求 I/O,可对每个设备都编写 I/O 数据处理程序,轮流查询这些设备的状态位,当某个设备准备好允许 I/O 数据时,就调用这个设备的 I/O 程序处理数据传输,否则依次轮询下个设备是否准备好。

特点

  • 在外设进行数据处理时,CPU 只能等待(忙等待),消耗大量处理机时间;
  • 处理机与设备串行工作;
  • 管理简单,可在要求不高的场合被采用。