代码之家  ›  专栏  ›  技术社区  ›  Tony The Lion

在不同线程中执行的中断处理程序?

  •  1
  • Tony The Lion  · 技术社区  · 15 年前

    我想知道处理器何时被中断,中断服务程序(isr)何时被执行,是在被中断处理中断的线程的上下文中执行,还是在它自己的线程中执行,然后回到它在原始线程中的剩余位置?

    所以上下文切换实际上是在中断发生时发生的?

    1 回复  |  直到 15 年前
        1
  •  2
  •   outis    15 年前

    虽然可以有一个特殊的线程来处理中断(请阅读wikipedia上关于“二级中断处理程序”的文章 interrupt handling ;我不确定windows是否使用slhs)。由于ISR在内核模式下运行,因此存在潜在的上下文切换。即使当前线程处于内核模式,在调用中断处理程序之前也会保存一些上下文。

    还在找文件。