系统节拍定时器中断优先级和阻塞中断

时间:2015-12-14 00:25:36

标签: timer operating-system interrupt

假设我们有一个在CPU上运行的操作系统,它完全兼容其要求。此操作系统是由tick驱动的。系统节拍中断来自外部定时器(周期模式),为了简单起见,它连接到某个CPU IRQn引脚。

IRQ引脚按中断优先级排序。 IRQ0具有最高优先级,IRQn具有最低优先级。优先权至少有两个原因。第一个当然是在一起到达两个中断时,选择一个具有更高优先级的中断。第二个原因如下:当发生中断时,硬件将禁止进一步的中断。当中断处于ISR使能状态(可能的嵌套中断)时,只能发生具有更高优先级的中断。我对此有一些疑问。

我的第一个问题可能很简单,我可以自己回答(也许),但我想阅读可靠的答案。

  • 如何选择计时器优先顺序?它是系统中最低的中断优先级吗?*

这是第二个问题。

  • 当CPU正在为另一个中断服务并且进一步中断被禁用时,如果发生计时器嘀嗒中断会怎么样?

这是我的补充。如果可能发生上述情况(在第二个问题中),则有机会丢失系统节拍。它会引起什么大问题吗?

*如果计时器滴答优先级不是系统中的最低中断优先级,则可能发生CPU处于ISR中且优先级低于系统滴答中断的情况,并启用进一步的中断和用户进程,这是我们进行潜在调度所需要的,存储在堆栈的某个地方,我们在系统节拍例程中找不到它。

我知道这一切都可以依赖于系统,但我对任何与这种情况相似的典型解决方案感兴趣。

抱歉我的英文。

0 个答案:

没有答案