首页 百科知识 查询等待方式

查询等待方式

时间:2022-10-09 百科知识 版权反馈
【摘要】:查询等待方式又称轮询方式。对于不支持中断方式的机器只能采用这种方式来控制I/O过程,所以Linux中也配备了查询等待方式。例如,并行接口的驱动程序中默认的控制方式就是查询等待方式。如函数lp_char_polled()就是以查询等待方式向与并口连接的设备输出一个字符。

5.2.1 查询等待方式

查询等待方式又称轮询方式(polling mode)。对于不支持中断方式的机器只能采用这种方式来控制I/O过程,所以Linux中也配备了查询等待方式。例如,并行接口的驱动程序中默认的控制方式就是查询等待方式。如函数lp_char_polled()就是以查询等待方式向与并口连接的设备输出一个字符。

static inline int lp_char_polled(char lpchar, int minor)

{

 int status, wait = 0;

 unsigned long count = 0;

 struct lp_stats *stats;

 do {              /* 查询等待循环 */

  status = LP_S(minor);

c  ount ++;

  if(need_resched)

   schedule();

 } while(!LP_READY(minor,status) && count 〈 LP_CHAR(minor));

 if (count == LP_CHAR(minor)) { /* 超时退出 */

  return 0;

 }

 outb_p(lpchar, LP_B(minor)); /* 向设备输出字符 */

}

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈