Linux中断管理

中断很大一部分是硬件相关的:比如中断控制器,支持的中断数等。

下图简单描述一下内核中与中断管理有关的一些结构:

 

中断下半部

 

中断下半部实际上是为了减少禁止中断的中断处理程序的执行时间,实际上下面的机制不仅适用于中断下半部,也可以用于其他的回调机制。

一、软中断与tasklet(tasklet是基于软中断的):

关于上图的一些说明:

1. 上图的上半部分描述的是软中断,下半部分描述的是tasklet;

2. 软中断的实现是由内核线程 ksoftirqd() 管理的,它会一直去判断有没有软中断被触发,有就执行相应的处理函数;

3. 当我们调度一个tasklet的时候,实际上也是通过触发软中断(TASKLET_SOFTIRQ)

 

二、工作队列(workqueue)

.

posted @ 2018-02-12 20:50  zhuqingzhu  阅读(420)  评论(0编辑  收藏  举报