关于同一来源的中断的事情

ven*_*s.w 3 linux kernel interrupt linux-kernel

有人说

当PIC发送中断时,PIC将不会从同一源发送另一个中断,直到通过I/O端口确认.这是因为中断处理程序通常操纵关键数据结构,并且不会经受新自身调用的中断(即它们不是可重入的).

我不明白.同一来源和不同来源的中断之间有什么不同吗?

bet*_*ido 7

您可以从不同的来源获得中断:计时器,硬盘,网络等.这些中断中的每一个都将由不同的中断处理程序处理.

因此,如果来自源(S1)的中断到来而正在处理来自源(S2)的另一个中断,则没有问题.两个中断都由不同的中断处理程序处理.

另一方面,如果来自源(S)的中断到达而该源的处理程序正在处理另一个中断,则处理程序将无法处理第二个中断,因为它不是以可重入的方式设计的(即,它不能被中断,处理新的中断,然后返回处理原始中断).

您可以查看了解Linux内核,了解有关中断在Linux内核中工作方式的详细信息.