中断基础概念-27

Posted 杨斌并

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了中断基础概念-27相关的知识,希望对你有一定的参考价值。

中断基础概念

中断概念

CPU在正常运行期间,由外部或者内部引起的事件,让CPU停下当前正在运行的程序,转而去执行触发他的中断所对应的程序,这个就是中断。|
举例:
我现在正在厨房做饭,突然电话响了,然后我关火去接电话,接完电话在回去开火继续做饭,这个过程就是中断的一个过程。
在这个看似简单的过程中,却涉及到了中断的几个过程,我们一起来看一下:

  • 电话铃声响了:中断请求
  • 我要去接电话:中断响应
  • 我关掉火:保护现场
  • 我接电话的过程:中断处理
  • 接完电话回到厨房开火:恢复现场
  • 继续做饭:中断返回
  • 如果我不接电话:中断屏蔽

什么是中断上下文,为什么会有中断上下文?

中断的存在可以极大的提高 CPU的运行效率,但是中断会打断内核进程中的正常调度和运行,所以为保证系统实时性,中断服务程序必须足够简短,但实际应用中某些时候发生中断时必须处理大量的事物,这时候如果都在中断服务程序中完成,则会严重降低中断的实时性,基于这个原因,linux系统提出了一个概念:把中断服务程序分为两部分:中断上文中断下文

  • 中断上文: 完成尽可能少切比较急的任务,中断上文的特点就是响应速度快。
  • 中断下文:处理中断剩余的大量比较耗时间的任务,而且可以被新的中断打断。

举例:
我现在正在厨房做饭,突然电话响了,然后我关火去接电话,快递员打电话让我下楼去拿快递,接完电话叫我女朋友去下楼拿快递,然后我在回去开火继续做饭,这个过程就是中断上下文。
分析:
快递员打电话让我下去拿快递,这个事情很紧急,所以要快速处理,这个就是要在中断上文中完成。但是下楼拿快递这个过程非常耗时间,所以叫女朋友去拿快递,这个就是中断下文。下楼拿快递很耗时间,如果我不叫女朋友去帮我拿而是自己拿,等我拿完饭回来我锅里的菜是不是就凉了呀,同理,如果你在中断里面做很耗时间的时间,系统就会崩溃。
如果女朋友在去拿快递的过程中,突然口渴了,要去超市买水,所以,中断下半部分是可以被中断打断的。
总之:
中断上文越快越好,中断下文可以做比较耗时间的事情,但是你不能死循环。

linux 中断可以嵌套吗?

  • 以前可以,现在不行

以上是关于中断基础概念-27的主要内容,如果未能解决你的问题,请参考以下文章

谢烟客---------Linux之进程管理基础概念

软中断的概念

Linux基础21 进程介绍, 进程监控状态ps, 进程相关命令pstree,pgrep,pidof, 动态进程监控top, 进程中断概念, kill停止进程信号介绍pkill, killall

嵌入式开发基础之中断管理

嵌入式开发基础之中断管理

并发编程必备基础之进程 -- 2019-08-16 23:57:27