gpt4 book ai didi

operating-system - 多核/多CPU机器中的中断如何工作?

转载 作者:行者123 更新时间:2023-12-03 11:58:42 26 4
gpt4 key购买 nike

我最近开始研究低级OS编程。我(非常缓慢)目前正在研究两本较旧的书,即XINU和Build Your Own 32 Bit OS,以及上一个问题How to get started in operating system development中由优秀SO人士建议的一些资源。

可能只是我在任何这些资源中都没有遇到过它,但这可能是因为这些资源中的大多数是在无所不在的多核系统之前编写的,但是我想知道的是中断在多核/多处理器系统中是如何工作的。

例如,假设DMA希望发信号表示文件读取操作已完成。哪个处理器/内核确认发出了中断信号?是启动文件读取的处理器/核心吗?是首先使用哪个处理器/内核?

最佳答案

查看IoConnectInterrupt函数,您可以找到ProcessorEnableMask,它将选择允许运行InterruptService例程(ISR)的cpu。
根据此信息,我可以假定处于较低级别的某个位置(请参见Adam's post)可以指定将中断路由到何处。

顺便说一句,文件操作与中断和/或DMA并没有真正的直接关系。文件操作是一种文件系统概念,其转换为低级内容取决于文件系统所处的总线,它可能是IDE或SATA磁盘,甚至可能是usb存储,在这种情况下,扇区读取将通过usb总线转换为3逻辑操作。将由USB主机 Controller 驱动程序提供中断服务,但这与原始文件读取操作并没有真正的关系,它可能以任何方式拆分为较小的事务。

关于operating-system - 多核/多CPU机器中的中断如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/301018/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com