关闭

linux设备驱动之异步通知与异步I/O

397人阅读 评论(0) 收藏 举报

一、基本概念

   同步I/O操作请求发出后,应用程序会阻塞,直到请求满足为止。

    异步I/O的基本思想是允许进程发起很多I/O操作,而不用阻塞或等待任何操作的完成。稍后再接到I/O操作完成通知时,进程再检索I/O操作的结果。

   异步通知是指在访问设备中,一旦设备就绪,驱动程序主动通知应用程序,这样应用程序就不需要查询设备的状态了。

二、异步通知

   异步通知需要在驱动程序中实现fasync()函数,并且在资源可获得时,调用kill_fasync()发出相应信号。应用程序调用fcntl()函数启动异步通知机制。

三、异步I/O

   信号和回调函数是实现内核空间对用户空间应用程序通知的两种机制。在应用程序中,可以使用AIO的API访问资源。字符设备驱动程序要实现异步I/O操作,需要实现file_operations中三个与AIO相关的函数。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:22417次
    • 积分:599
    • 等级:
    • 排名:千里之外
    • 原创:34篇
    • 转载:3篇
    • 译文:0篇
    • 评论:6条
    文章分类
    最新评论