Ash*_*sev 5 kernel signals interrupt linux-kernel
我正在通过 O'Reilly 的“理解 Linux 内核”学习 linux 内核,最近涵盖了信号和中断处理章节,坚持一些基本的 2.4 linux 版本,并就我所能理解的代码深入研究。
然而,我无法向自己解释,也无法在别处找到答案,比如说,当 actrl + c被按下以运行在 shell 中的进程时,发生的指令流是什么。
到目前为止我所做的:
char从键盘设备在 APIC 中的寄存器到其他寄存器的按下从这里对我来说很模糊。
不过我确实理解,中断处理不在进程上下文中,而异常在进程上下文中,因此很容易弄清楚异常如何更新current->thread.error_code并current->thread.trap_no最终调用force_sig. 然而,一旦中断处理程序被执行,如上面的例子,它如何最终进入所需进程的上下文并生成信号?
| 归档时间: |
|
| 查看次数: |
7196 次 |
| 最近记录: |