深入理解计算机系统读书笔记四
异常控制流(Exceptional Control Flow ,ECF)什么是控制流从给处理器加电开始,直到断电为止,程序计数器假设一个值的序列:a0,a1,a2…a n-1,其中a k是相应的指令的地址,每次从a k到a k-1的过渡称为控制转移(control transfer)。这样的控制转移序列称为处理器的控制流(flow of control)。 异常异常是异常控制流的一种形式,它一部分由硬件实现,一部分由操作系统实现。异常(Exception)就是控制流中的突变,用来响应处理器状态中的某些变化。在任何情况下,当处理器检测到有事件发生时,它就会通过一张叫做异常表(Exception Table)的跳转表,进行一个间接过程调用,到一个专门设计的用来处理这类事件的操作系统子程序(异常处理程序(exception handler))。当异常处理程序处理完成后,根据引起异常的事件类型,会发生以下3种情况种的一种。1.处理程序将控制返回当前指令2.处理程序将控制返回下一条3.处理程序终止被中断的程序
