提交 ba3db32b 编写于 作者: chyyuu1972's avatar chyyuu1972

update ch0:sec3 abstract

上级 fa7f4f6a
......@@ -63,11 +63,14 @@
简单地说,异常控制流 (ECF, Exceptional Control Flow) 是处理器在执行过程中的突变,其主要作用是通过硬件和操作系统的协同工作来响应处理器状态中的特殊变化。比如当应用程序正在执行时,产生了时钟外设中断,导致操作系统打断当前应用程序的执行,转而进入 **操作系统** 所在的执行环境去处理时钟外设中断。处理完毕后,再回到应用程序的执行环境中被打断的地方继续执行。
.. note
.. note::
本书是从操作系统的角度来给出的异常控制流的定义。
在“深入理解计算机系统”(CSAPP)一书中,对异常控制流也给出了相关定义:
系统必须能对系统状态的变化做出反应,这些系统状态不是被内部程序变量捕获,也不一定和程序的执行相关。现代系统通过使控制流发生突变对这些情况做出反应。我们称这种突变为异常控制流( Exceptional Control Flow,ECF)
我们这里的异常控制流不涉及C++/Java等编程语言级的exception机制
我们这里的异常控制流不涉及C++/Java等编程语言级的exception机制。
.. _term-context:
......@@ -130,11 +133,14 @@
在后面的叙述中,如果没有特别指出,我们将用简称中断、陷入、异常来区分这三种异常控制流。
.. note
.. note::
本书是从操作系统的角度来给出的中断 (Interrupt) 、陷入 (Trap) 和异常 (Exception)的定义。
在不同的书籍中,对于中断 、陷入和异常的定义会有一些差别。有的书籍把中断、陷入和异常都统一为一种中断,表示程序的当前控制流被打断了,要去执行不属于这个控制流的另外一个没有程序逻辑先后关系的控制流;也有书籍把这三者
统一为一种异常,表示相对于程序的正常控制流而言,出现了的一种没有程序逻辑先后关系的异常控制流。甚至也有书籍把这三者统一为一种陷入,表示相对于程序的正常控制流而言,CPU会陷入到
操作系统内核中去执行。
在RISC-V的特权级规范文档中,陷入 包含中断和异常,而原来意义上的陷入(trap,系统调用)只是exception中的一种情况。
这些都是从不同的视角来阐释中断、陷入和异常,并没有一个唯一精确的解释。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册