我正在阅读 ULK3,并得到以下声明
“来自外部硬件设备的中断请求可以通过两种方式分布在可用的 CPU 中:
静态分发 IRQ 信号被传递到相应重定向表条目中列出的本地 APIC。中断被传送到一个特定的 CPU、CPU 的一个子集或一次性传送到所有 CPU(广播模式)。”</p>
我知道 linux 不使用静态分发,但我的问题是:
如果操作系统使用静态分配初始化中断重定向表的一个条目,并且该 IRQ 被引发,然后多 APIC 系统选择两个 CPU(这里,这只是一个示例,两个 CPU 在条目中列出)并传递信号到对应的本地APIC,两个本地APIC都接受中断。
- 只有一个cpu会处理中断?或两者?如果有,如何选择?
- 是否有使用静态分发的操作系统?
如果是,请给我看例子
如果不是,它为什么存在?是不是因为某些历史问题?这种设计的初衷是什么?