中断和异常的再总结

Posted feng9exe

tags:

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

中断和异常的再总结

@(OS)

内部异常(内中断)

故障(fault)
自陷(trap)
终止(abort)
是源自CPU执行指令内部的事件。如:非法操作码,地址越界,算术溢出,虚存系统的缺页,陷入指令等引起的事件。内部异常不可被屏蔽,一旦出现立马处理。

外中断:来自CPU执行指令以外的事件。如:I/O中断,时钟中断等。

在操作系统层次上,我们多听到“异常”(Exception)而少见“中断”(Interrupt),且往往笼统地称其为异常,但处理器微体系结构规范通常会区分中断和异常。

一般而言,中断是异步的,异常是同步的,所谓同步和异步的概念,又与我们网络通信或函数调用中的同步异步有所不同。中断是来自处理器外部的I/O设备的信号的结果,它不是由指令流中某条指令执行引起的,从这个意义上讲,它是异步的,是来自指令流之外的。

异常又分为三类:陷阱(Trap)、故障(Fault)和终止(Abort),它们都是执行当前指令流中的某条指令的结果,是来自指令流内部的,从这个意义上讲它们都是同步的。

陷阱是有意而为之的异常,是明知有套还往里钻——人家要的就是这个结果,其最常见的用途就是操作系统的系统调用。

故障是由错误条件引起的,可能被故障处理例程修复。如果可以修复,则啥事儿没有,继续干活;如果不能修复则会转化为终止,并进入下一步。常见的故障如缺页。

终止是不可恢复的致命的错误造成结果。终止处理程序不再将控制返回给引发终止的应用程序,而是交给了系统——其结果往往是系统终止应用程序。
————————————————
版权声明:本文为CSDN博主「DrCrypto」的原创文章,遵循 CC 4.0 BY 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u011240016/article/details/53117093

以上是关于中断和异常的再总结的主要内容,如果未能解决你的问题,请参考以下文章

C语言学习-中断管理总结 2020-3-1

课程学习总结报告

STM32中断应用总结

stm32中断初识与实践(上)

ARM异常处理(IRQ中断处理)总结1

2018-2019-1 20165203 《信息安全系统设计基础》第七周学习总结