- 0
- 0
- 约2.93千字
- 约 4页
- 2026-05-27 发布于北京
- 举报
1、中断和中断的上半部分和下半部分的问题
中断会打断内核中进程的正常调度和运行,当中断到来时,要完成的工作往往并不
会是短小的,它可能要进行较大量的耗时处理。所以中断处理程序中所有不要求立即完成的,
在开中断的环境下,由中断后半段完成.
中断前半段主要完成尽可能少的比较紧急的功能,例如简单地寄存器中的中断状
态并清除中断标志后就进行“登记中断”的工作。这样,顶半部执行的速度就会很快,可以
服务的中断请求。
复杂的内容则交由中断下半部来执行,而且中断下半部可以被新的中断打断,这也
是底半部和顶半部的最大不同。
当然,如果中断比较简单,就不用区分上下半部了。
Linux系统实现底半部的机制主要有:
三种:tasklet,工作队列和软中断。
1.1、tasklet与workqueue的区别及底层实现区别
1)softirq和tasklet都属于软中断,tasklet是softirq的特殊实现;workqueue是普通
的工作队列。
2)如果推后执行的任务需要睡眠,那么就选
原创力文档

文档评论(0)