【发布时间】:2020-05-29 05:38:55
【问题描述】:
Linux 信号如何导致 X86 处理器的指令流中断?那么使用什么 CPU 工具呢?
您有同步和异步中断。
同步中断适用于页面错误、异常等问题。由在 CPU 上执行的指令引起的问题。
异步中断来自 LAPIC 的 IPI、定时器中断或由 I/O-APIC 拾取并路由到正确的 LAPIC,然后中断处理器。所以这些都是外部事件。
但是 Signal 使用哪种 X86 机制来中断指令流并开始处理信号处理程序。
它不是异步中断 AFAIK,因为中断是在内核中处理的,而信号是在用户空间中处理的。但它的行为与异步中断非常相似。
【问题讨论】:
-
有趣的问题。我想知道为什么它收集了一个downvote:(
标签: linux x86 operating-system signals