• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

Linux系统中用户态中断处理,守护线程?内核控制路径?

沃尔夫斯堡的羊 2020-06-12 浏览量:1356
如题,Linux系统和驱动开发中,内核的某设备驱动中注册了中断,且中断处理例程已经实现,但是中断处理例程是在内核态,那么在用户态如何处理中断?查资料需用到守护线程,可是这和“中断只是内核控制路径,不是进(线)程”矛盾吗?还有守护线程属于响应这个中断的进程上下文么?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
所有亮答 数量:2
  • 守护进程也是用户态进程,跟内核无关

    Linux里面用户程序要用中断,一般的方法就是用信号量signal,驱动程序里面调用kill_fasync函数向用户进程发一个信号

    这只能起到通知作用,真正的中断处理(中断标志位清除等)还是内核完成的

  • 我理解,这些中断处理都是内核处理,但有一个统一的接口来把相应信息传递给需要的进程,这个统一的接口就是守护进程,即由守护进程代理所有涉及中断处理的部分,然后把信息传递出去。

    比如键盘、鼠标的信号的处理,都有对应的守护进程,把它们处理为一个文件设备上,供具体程序调用。

相关问题

问题达人换一批

Linux系统中用户态中断处理,守护线程?内核控制路径?