Linux设备驱动异步通知介绍

文章作者 100test 发表时间 2007:09:06 13:55:00
来源 100Test.Com百考试题网


  结合阻塞与非阻塞访问、poll函数可以较好地解决设备的读写,但是如果有了异步通知就更方便了。异步通知的意思是:一旦设备就绪,则主动通知应用程序,这样应用程序根本就不需要查询设备状态,这一点非常类似于硬件上"中断"地概念,比较准确的称谓是"信号驱动(SIGIO)的异步I/O"。


  我们先来看一个使用信号驱动的例子,它通过signal(SIGIO, input_handler)对STDIN_FILENO启动信号机制,输入可获得时input_handler被调用,其源代码如下:

  为了使设备支持该机制,我们需要在驱动程序中实现fasync()函数,并在write()函数中当数据被写入时,调用kill_fasync()函数激发一个信号,此部分工作留给读者来完成。



相关文章


Linux的奇思妙想之系统优化技巧全接触
使用Linux应用服务器场的远程计算
高效配置Linux代理服务器Squid介绍
Linux后台进程(cron和crontab)
Linux设备驱动异步通知介绍
Linux系统管理新手要了解的十个知识点
新手入门JavaWeb三层架构的配置详解
J2EE基础:Hibernate的使用的查询方式
首次专门培养农牧专业硕士研究生
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛