我最近开始涉足低级别的操作系统编程。目前我正在缓慢地阅读两本旧书,XINU和Build Your Own 32 Bit OS,以及我之前在Stack Overflow上提问时得到的一些资源:如何开始操作系统开发。
可能是因为大多数这些资源都是在普及多核系统之前编写的,所以我还没有遇到过这个问题。但我想知道的是,在多核/多处理器系统中,中断是如何工作的。
例如,假设DMA想要信号传递一个文件读取操作已经完成。哪个处理器/核心会确认已经发生了中断?是启动文件读取操作的处理器/核心吗?还是先到达的任何处理器/核心?