谁在cpu执行BH时将控制传递给ISR

时间:2016-03-21 18:42:31

标签: linux-kernel operating-system scheduler interrupt-handling

假设在Unicore处理器中发生了中断

作为一般做法,调度程序已禁用,并且cpu正在为ISR提供服务

ISR会禁用当前的IRQ,并为延迟工作安排下半部分(此处为tasklet)。

在提供ISR之后(启用了IRQ),现在处理器得到了更改以服务于预定的下半部分。

同时发生中断,然后当前运行的BH被占用,CPU执行新的ISR。

在这种情况下谁负责将控制从BH切换到ISR

我的问题是基于假设调度程序被禁用而系统是unicore处理器。

1 个答案:

答案 0 :(得分:0)

过程调度程序不会将控制传递给中断处理程序。这是一种硬件机制。在x86中,中断处理例程由内核通常在开头设置的IDT指定。

如果您对该机制非常感兴趣,可以进一步阅读thisthis或您的处理器架构的开发人员手册。