(Linux Kernel)中断处理问题

时间:2015-03-08 09:08:30

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

我在操作系统手册中读到了我正在使用的中断处理可能会对正在运行的进程产生一些副作用,但没有更多详细信息。我想过在程序运行时阻止所有中断。有人可以告诉我我是不是?有没有其他副作用,我忽略了使用该解决方案?

1 个答案:

答案 0 :(得分:3)

中断是CPU的直接线路,它告诉CPU停止正在执行的所有操作并运行一个名为中断处理程序的函数。中断只是暂时的,完成后所有应用程序都恢复工作。

永远不应阻止中断,因为它们是必不可少的。

有硬件和软件中断。

例如,每当您按下键盘上的某个键时,就会调用一个中断,以便CPU和最终操作系统知道用户想要进行交互。

另一个例子(在极少数情况下你没有DMA)是当数据进入网卡时,CPU必须停止一小段时间才能接受数据。

软件中断主要在操作系统中处理,对于处理各种重要事项(如多任务处理或不可恢复的错误)至关重要。

中断是一件很难平衡的事情,因为它们是低延迟操作所必需的,如果你滥用它们,你可能会注意到严重的性能下降。

除非您不是绝对需要它们来实现实时操作,否则强烈建议不要触摸它们。