×

《Linux设备驱动开发详解》第9章、Linux设备驱动中的异步通知与异步IO

消耗积分:0 | 格式:rar | 大小:0.60 MB | 2017-10-27

蚁仔仔

分享资料个

  阻塞与非阻塞访问、poll()函数提供了较好的解决设备访问的机制,但是如果有了异步通知整套机制就更加完整了。

  异步通知的意思是:一旦设备就绪,则主动通知应用程序,这样应用程序根本就不需要查询设备状态,这一点非常类似于硬件上“中断”的概念,比较准确的称谓是“信号驱动的异步 I/O”。信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。

   信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。

  阻塞 I/O 意味着一直等待设备可访问后再访问,非阻塞 I/O 中使用 poll()意味着查询设备是否可访问,而异步通知则意味着设备通知自身可访问,实现了异步 I/O。由此可见,这几种方式 I/O 可以互为补充。

  图 9.1 呈现了阻塞 I/O,结合 poll()的非阻塞 I/O 及异步通知在时间先后顺序上的不同。

《Linux设备驱动开发详解》第9章、Linux设备驱动中的异步通知与异步IO

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !