如果使用APIC,那么是由操作系统填写中断向量表吗?还是由APIC填写
时间: 2023-06-27 13:07:01 浏览: 142
在现代计算机中,APIC(Advanced Programmable Interrupt Controller)是用于管理中断的芯片。操作系统会向APIC发送中断请求并配置APIC以响应这些请求。APIC会根据操作系统的配置,填写中断向量表并产生中断信号,然后将控制权交还给操作系统。因此,可以说是由操作系统填写中断向量表,并由APIC填写中断描述符表(IDT)。
相关问题
Linux系统中,硬件中断怎么和软件中断向量表对应起来?
在 Linux 系统中,硬件中断和软件中断都对应着一个中断向量表。其中,硬件中断向量表由硬件设备决定,而软件中断向量表是由操作系统内核维护的。
在 x86 架构中,有一个中断控制器(PIC)和一个本地 APIC(LAPIC)。PIC 负责管理主板上的硬件中断,LAPIC 负责管理 CPU 内部的硬件中断。当硬件设备触发中断时,PIC 会将中断信息发送给 LAPIC,在 LAPIC 中处理后,再将中断信息发送给操作系统内核。
操作系统内核维护了一个软件中断向量表,每个中断向量对应一个中断处理程序。当硬件中断或软件中断发生时,CPU 会根据中断号查询中断向量表,找到对应的中断处理程序并执行。
因此,在 Linux 系统中,硬件中断和软件中断都需要经过中断控制器和中断向量表的处理才能被正确地处理。
阅读全文