美文网首页
Linux软中断

Linux软中断

作者: TOPKK7 | 来源:发表于2019-06-17 20:02 被阅读0次

    中断其实是一种异步的事件处理机制,可以提高系统的并发处理能力

    由于中断处理程序会打断其他进程的运行,所以,为了减少对正常进程运行调度的影响,中断处理程序就需要尽可能快地运行。如果中断本身要做的事情不多,那么处理起来也不会有太大问题;但如果中断要处理的事情很多,中断服务程序就有可能要运行很长时间。

    特别是,中断处理程序在响应中断时,还会临时关闭中断。这就会导致上一次中断处理完成之前,其他中断都不能响应,也就是说中断有可能会丢失。



    为了解决中断处理程序执行过长和中断丢失的问题,Linux 将中断处理过程分成了两个阶段,也就是上半部和下半部

    >>>上半部用来快速处理中断,它在中断禁止模式下运行,主要处理跟硬件紧密相关的或时间敏感的工作。

    >>>下半部用来延迟处理上半部未完成的工作,通常以内核线程的方式运行



    proc 文件系统。它是一种内核空间和用户空间进行通信的机制,可以用来查看内核的数据结构,或者用来动态修改内核的配置。其中:

    /proc/softirqs 提供了软中断的运行情况;

    /proc/interrupts 提供了硬中断的运行情况。



    Linux 中的中断处理程序分为上半部和下半部:

    上半部对应硬件中断,用来快速处理中断。

    下半部对应软中断,用来异步处理上半部未完成的工作。

    Linux 中的软中断包括网络收发、定时、调度、RCU锁等各种类型,可以通过查看 /proc/softirqs 来观察软中断的运行情况。

    相关文章

      网友评论

          本文标题:Linux软中断

          本文链接:https://www.haomeiwen.com/subject/ubwzfctx.html