【发布时间】:2016-07-08 10:31:55
【问题描述】:
假设单核处理器发生中断
作为一般做法,调度程序被禁用,cpu 正在为 ISR 服务
ISR 禁用当前 IRQ 并为延迟工作安排下半部分(此处为 tasklet)。
在服务 ISR 之后(启用 IRQ),现在处理器得到了更改以服务于预定的下半部分。
同时中断再次发生,然后当前运行的 BH 被抢占,CPU 执行新的 ISR。
在这种情况下,谁负责将控制从 BH 切换到 ISR
我的问题是假设调度程序被禁用并且系统是单核处理器。
【问题讨论】:
-
In this case who is responsible for switching the control from BH to ISR- 中断强制处理器像往常一样执行 ISR。 -
@user3344003 'BH' 是'下半部分'。它是服务中断数据的代码,以较低的优先级运行。它通常被称为延迟过程调用。
-
感谢您的回复,能否详细解释一下。我问它是否我的调度程序被禁用,那么谁负责将控制权传递给 ISR。 @Tsyvarev
-
@konduri praveen,进程调度程序不会将控制权传递给 ISR。它始终是一种硬件机制。调度程序本身从定时器中断中踢出。
-
谢谢,在我使用过的系统上,它们是延迟过程调用或内核模式异步过程调用。不是 BH。
标签: linux-kernel operating-system scheduler interrupt-handling