linux - 从最低层(硬件)到应用程序的中断流程

标签 linux io operating-system kernel

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

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

但是我想要从键盘按下到处理器的中断过程在硬件中发生了什么,例如它如何传递扫描代码,中断 Controller 的作用是什么,一些寄存器的设置,简而言之它是​​如何从下图传递的? enter image description here

最佳答案

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

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

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

关于linux - 从最低层(硬件)到应用程序的中断流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23184414/

相关文章:

c - 如何在 libuv 中获取已接受的 tcp 套接字的文件描述符?

c - 如何解析用户的输入以确定在 C 中打印结果的位置?

Linux 设备驱动程序 - 内存映射 I/O 示例讨论

c++ - 是否有良好的 C++ I/O 使用示例

qt - 使用 Qt 在 Windows 中查找特殊文件夹列表

linux - apache2 每天崩溃 1-3 次

linux - SELinux 能否给予普通用户对文件系统或目录的完全控制权?

process - 操作系统是一个进程吗?

debugging - 软件断点和现代 OOOE 处理器

linux - 在 Bash 中按照特定模式生成随机字符串的最佳方法