• 深入理解计算机系统 第八章 异常控制流 part1


    本章主旨

    第八章的目的是阐述清楚应用程序是如何与操作系统交互的(之前章节的学习是阐述应用程序是如何与硬件交互的)

    异常控制流

    异常控制流,即 ECF(exceptional contril flow)

    ECF 的重要性

    ECF 对于程序员的重要性体现在以下几点:

    理解 ECF 将帮助我们理解重要的系统概念

    理解 ECF 将帮助我们理解应用程序是如何与操作系统交互的

    理解 ECF 将帮助我们编写有趣的新应用程序

    理解 ECF 将帮助我们理解软件异常如何工作

    异常处理程序

    在任何情况中,当处理器检测到有事件发生时,它就会通过一张叫做异常表(exception table)的跳转表,进行一个间接过程调用(异常),到一个专门设计用来处理这类事件的操作系统子程序(即,异常处理程序),当异常处理程序完成处理之后,根据引起异常的事件的类型,会发生以下三种情况的一种:

    1、处理程序将控制返回给当前指令 Icurr(当事件发生时正在执行的指令)

    2、处理程序将控制返回给 Inext(如果没有发生异常将会执行的下一条指令)

    3、处理程序终止被中断的程序

    异常分类

    异常可以分为四类:中断(interrupt)、陷进(trap)、故障(fault)和终止(abort)

    中断:

    来自 I/O 设备的信号可能会导致中断,中断是异步的,且总是会返回到下一条指令

    陷阱:

    陷阱即有意的异常,是同步的,且总是会返回到下一条指令

    故障:

    潜在的可恢复的错误会导致故障,是同步的,且可能返回到当前指令

    终止:

    不可恢复的错误会导致终止,是同步的,不会返回到原来的指令序列中

  • 相关阅读:
    TextField 属性与注意
    as3:获取系统信息
    转:As3 优化总结,代码写法和api使用事项。
    文本编辑器制作(1):2种方案实现
    FlashBuilder编译参数
    as3 动态类库使用
    webgame:版本更新与本地缓存
    A*
    FlashBuilder方便的调试UI插件Monster Debugger
    sourcemate flex插件
  • 原文地址:https://www.cnblogs.com/stone94/p/10165167.html
Copyright © 2020-2023  润新知