当前位置:嗨网首页>书籍在线阅读

15-总结

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

9.5 总结

本章主要讲述了Linux中的异步I/O,异步I/O可以使得应用程序在等待I/O操作的同时进行其他操作。

使用信号可以实现设备驱动与用户程序之间的异步通知,总体而言,设备驱动和用户空间要分别完成3项对应的工作,用户空间设置文件的拥有者、FASYNC标志及捕获信号,内核空间响应对文件的拥有者、FASYNC标志的设置并在资源可获得时释放信号。

Linux 2.6内核包含对AIO的支持,它为用户空间提供了统一的异步I/O接口。在AIO中,信号和回调函数是实现内核空间对用户空间应用程序通知的两种机制。

本章导读

本章主要讲解Linux设备驱动编程中的中断与定时器处理。由于中断服务程序的执行并不存在于进程上下文,因此,要求中断服务程序的时间尽可能地短。因此,Linux在中断处理中引入了顶半部和底半部分离的机制。另外,内核中对时钟的处理也采用中断方式,而内核软件定时器最终依赖于时钟中断。

10.1节讲解中断和定时器的概念及处理流程。

10.2节讲解Linux中断处理程序的架构,顶半部、底半部之间的关系。

10.3节讲解Linux中断编程的方法,涉及申请和释放中断、禁止和使能中断以及中断底半部tasklet、工作队列、软中断机制。

10.4节讲解多个设备共享同一个中断号时的中断处理过程。

10.5节和10.6节分别讲解Linux设备驱动编程中定时器的编程以及内核延时的方法。