中断下半部的三种机制。对于一个中断,如何划分出上下两部分呢?哪些处理放在上半步,哪些放在下半部?
中断下半部的处理
对于一个中断,如何划分出上下两部分呢?哪些处理放在上半步,哪些放在下半部?
这里有一些经验可供借鉴:
如果一个任务对时间十分敏感,将其放在上半部。
如果一个任务和硬件有关,将其放在上半部。
如果一个任务要保证不被其他中断打断,将其放在上半部。
其他所有任务,考虑放在下半部。
实现下半部中断的三种机制
目前使用下面三种方法:
1.软中断
2.tasklet
3.工作队列
软中断
软中断是一组静态定义的下半部接口,有 32 个,可以在所有处理器上同时执行,类型相同也可以;在编译时静态注册。
软中断的流程如下:
文章来源: https://blog.csdn.net/zzt4326/article/details/89787716