【问题标题】:Flow of Interrupt from lowest level(Hardware) to application从最低级别(硬件)到应用程序的中断流程
【发布时间】:2014-06-04 18:01:59
【问题描述】:

谁能解释中断如何从最低级别(硬件)传递到应用程序。

所以在下图中,我知道处理器之后发生了什么。

但是我想要从键盘按下到处理器的中断过程在硬件中发生了什么,比如它如何传递扫描码,中断控制器的作用是什么,一些寄存器是如何从下图中简单设置的?

【问题讨论】:

  • 对于许多架构/操作系统,第一张图看起来是错误的。在繁忙的机器上,用户代码更有可能被中断。在空闲机器上,暂停指令更有可能被中断(即处理器停止)。 '处理器被中断,执行进入内核代码'会更准确。
  • 由于与上述相同的原因,还“返回到被中断的内核代码”,加上中断返回很可能将执行返回给不同的代码(即另一个线程/进程),而不是被打断了。在您的示例中,等待 KB 输入的线程可能会在处理按键后直接从内核中断返回,并且如果内核没有停止,则会抢占之前运行的某个线程。

标签: linux io operating-system kernel


【解决方案1】:

试试http://en.wikipedia.org/wiki/Programmable_Interrupt_Controllerhttp://en.wikipedia.org/wiki/Keyboard_controller_%28computing%29

键盘控制器断言一个路由到中断控制器的信号,中断控制器又断言一个连接到处理器中断输入的信号。操作系统内核中有特定于键盘的驱动程序软件,它知道如何访问键盘控制器中的寄存器以获取实际的扫描代码,从而使它们可用于用户模式应用程序。

键盘控制器和中断控制器通常都是图中南桥芯片的一部分。 (在早期的 PC 中,所有各种功能都是作为分立元件实现的,但现在许多功能通常组合成一个“超级 I/O”芯片。)

【讨论】:

    猜你喜欢
    • 2012-02-05
    • 1970-01-01
    • 2011-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多