标签:恢复 了解 ice 应该 如何 特定 总结 tin 环境
什么是中断,中断是指处理器接收到来自硬体或软体的信号,提示发生了某个事件,应该被注意,这种情况就称为中断。
cpu自身产生,针对当前执行的程序。当cpu执行到一个由于编程失误而导致的错误指令(除0)或在执行期间发生特殊情况时(缺页),导致cpu不知道如何处理,这时候就会产生异常,请求内核来告诉它该如何处理。
异步中断是由外设产生的,可能发生在任意时间。异步中断并不与特定进程关联。例如网卡通过发出一个相关中断通知cpu新分组的到达。
当中断来临时,cpu需要去处理这些情况。如果cpu当前不处于内核态,就会发起从用户态到内核态的转换,紧接着,在内核执行一个专门的例程,成为中断服务例程(interupt service routine,ISR)或中断处理程序(interupt handleer)。
中断的处理分为三部分:
准备中断处理程序执行环境。包括用户态转换到内核态,保存用户程序当前的寄存器状态。
执行中断处理程序
恢复到中断之前的状态。包括调度和信号投递检查,确认了这两个问题后,才还原寄存器集合,切换为用户栈,执行中断前的程序。
本文介绍了中断的概念以及中断的处理过程,由此可以建立一个对中断的宏观上的认识,了解中断是什么以及怎么处理的。
标签:恢复 了解 ice 应该 如何 特定 总结 tin 环境
原文地址:https://www.cnblogs.com/ZhaoKevin/p/12464616.html