美文网首页
操作系统对异常的处理

操作系统对异常的处理

作者: skelton | 来源:发表于2018-12-30 19:00 被阅读0次

文章结构为  1:什么是异常

                      2:怎么处理异常

什么是异常:

先说下什么是异常控制流,https://www.jianshu.com/p/1148ec06680e

异常就是控制流中的突变,用来响应处理器状态的某些变化。处理器状态的变化可能与当前指令相关。

异常的分类:https://www.jianshu.com/p/6462ac85e45f

比如发生虚拟内存缺页中断(DRAM缓存不中),算术溢出,或者一条指令试图除0,当然也可能与当前执行指令没关系,比如一个系统定时器产生一个信号或者一个I/O完成了请求等等

怎么处理异常:

当处理器检测到这些状态变化,他就会通过一张异常表的跳转表,进行一个间接过程调用,到一个专门设立用来处理这类事件的操作系统子程序,也就是异常处理程序

好好看一下下面这张图,更容易理解

系统中可能的每种类型的异常都分配了一个唯一的非负整数异常号。

这些异常包括零除,缺页,内存访问违例,断点即算术运算一组,系统调用和来自外部i/o设备的信号。

操作系统分配和初始化一张称为异常表的跳转表,使得表目k包含异常k的处理程序地址

操作系统对异常的处理

通过异常表的表目k,转到相应的处理程序

异常号是异常表的索引,异常表的起始地址放在一个叫做异常表基址寄存器的特殊CPU寄存器里。

操作系统对异常的处理

相关文章

  • 操作系统对异常的处理

    文章结构为 1:什么是异常 2:怎么处理异常 什么是异常: 先说下什么是异常控制流,htt...

  • windows异常

    异常处理 异常和中断是由CPU触发的.操作系统怎么接收到异常的?IDT表, 操作系统在启动时,就会将中断处理的地址...

  • iOS 程序秒退原因分析及解决思路总结

    闪退其实就是程序异常了,简言之:访问了已经释放的内存。对异常又没有处理措施,操作系统将你进程关了。异常包括:1、最...

  • 04.如何处理多个异常

    多异常处理 A:对代码进行异常检测,并对检测的异常传递给catch处理。对每种异常信息进行不同的捕获处理。 ※注意...

  • Spring MVC 全局统一异常处理(注解方式)

    全局异常处理 对异常处理类增加@ControllerAdvice 增加异常处理方法,使用@ExceptionHan...

  • (三)操作系统运行环境

    操作系统运行环境 CPU状态 中断/异常机制 操作系统运行机制 系统调用 处理器状态(模式) 中央处理器(CPU)...

  • 硬件对异常的处理

    一旦硬件触发了异常,剩下的工作就是有异常处理程序在软件中完成,在处理程序处理完事件之后,它通过执行一条特殊的从中断...

  • 运维少年系列 python and cisco (3)

    运维少年系列 python and cisco (3) 异常处理 什么是异常处理? 异常处理通常来说是对程序在执行...

  • Python-异常处理

    异常处理: 对出现的异常做出相应处理 Python中的异常处理能力是很强大的,可向用户准确反馈出错信息。在Pyt...

  • 深入理解计算机之异常

    异常 异常是异常控制流的一种形式,部分有硬件实现,部分由操作系统实现,是控制流的一种突变,用以响应处理器某些状态变...

网友评论

      本文标题:操作系统对异常的处理

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