这是来自维基百科...
中断描述符表 (IDT) 是 x86 架构用来实现中断向量表的数据结构。处理器使用 IDT 来确定对中断和异常的正确响应...在 8086 处理器中,IDT 驻留在内存中从地址 0x0000 到 0x03ff 的固定位置...
这是来自http://www.linuxjournal.com/article/4048?page=0,1
当 start_kernel(在 /usr/src/linux/init/main.c 中找到)被调用时,它会调用 trap_init(在 /usr/src/linux/kernel/traps.c 中找到)。trap_init 通过宏 set_trap_gate(位于 /usr/include/asm/system.h)设置 IDT 并初始化中断描述符表,如“Offset Descriptionis”表所示。
我很困惑,因为这两个描述似乎对比...第一个说 IDT 与处理器相关并且独立于内核(实际上它甚至不位于内核中)。第二个说 Linux 内核初始化 IDT 并实现 ISR 的代码,而 ISR 的所有代码都位于内核中。
另外,当设备向 CPU 产生中断时,是内核还是处理器负责执行中断例程?请向我解释一下......提前谢谢你