码迷,mamicode.com
首页 > 系统相关 > 详细

linux 中断简介

时间:2020-03-11 19:40:22      阅读:77      评论:0      收藏:0      [点我收藏+]

标签:恢复   了解   ice   应该   如何   特定   总结   tin   环境   

1. 中断简介

中断

什么是中断,中断是指处理器接收到来自硬体或软体的信号,提示发生了某个事件,应该被注意,这种情况就称为中断。

中断分类

  • 同步中断和异常(软件中断)

cpu自身产生,针对当前执行的程序。当cpu执行到一个由于编程失误而导致的错误指令(除0)或在执行期间发生特殊情况时(缺页),导致cpu不知道如何处理,这时候就会产生异常,请求内核来告诉它该如何处理。

  • 异步中断(硬件中断)

异步中断是由外设产生的,可能发生在任意时间。异步中断并不与特定进程关联。例如网卡通过发出一个相关中断通知cpu新分组的到达。

2. 中断处理

当中断来临时,cpu需要去处理这些情况。如果cpu当前不处于内核态,就会发起从用户态到内核态的转换,紧接着,在内核执行一个专门的例程,成为中断服务例程(interupt service routine,ISR)或中断处理程序(interupt handleer)。
中断的处理分为三部分:

  • 准备中断处理程序执行环境。包括用户态转换到内核态,保存用户程序当前的寄存器状态。

  • 执行中断处理程序

  • 恢复到中断之前的状态。包括调度和信号投递检查,确认了这两个问题后,才还原寄存器集合,切换为用户栈,执行中断前的程序。

技术图片

总结

本文介绍了中断的概念以及中断的处理过程,由此可以建立一个对中断的宏观上的认识,了解中断是什么以及怎么处理的。

linux 中断简介

标签:恢复   了解   ice   应该   如何   特定   总结   tin   环境   

原文地址:https://www.cnblogs.com/ZhaoKevin/p/12464616.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!