标签: linux-kernel operating-system scheduler interrupt-handling
假设在Unicore处理器中发生了中断
作为一般做法,调度程序已禁用,并且cpu正在为ISR提供服务
ISR会禁用当前的IRQ,并为延迟工作安排下半部分(此处为tasklet)。
在提供ISR之后(启用了IRQ),现在处理器得到了更改以服务于预定的下半部分。
同时发生中断,然后当前运行的BH被占用,CPU执行新的ISR。
在这种情况下谁负责将控制从BH切换到ISR
我的问题是基于假设调度程序被禁用而系统是unicore处理器。
答案 0 :(得分:0)
过程调度程序不会将控制传递给中断处理程序。这是一种硬件机制。在x86中,中断处理例程由内核通常在开头设置的IDT指定。
如果您对该机制非常感兴趣,可以进一步阅读this和this或您的处理器架构的开发人员手册。