异常控制流
定义:现代操作系统对于控制流发生突变所作出的反应
全称:Exception Control Flow
缩写:ECF
各层形态:
1.硬件层:硬件检测到的事件会触发控制突然转移到异常处理程序;
2.操作系统层:在操作系统层,内核通过上下文转换,将控制从一个用户进程转移到另外一个用户进程;
3.应用层:一个进程可以发信号到另外一个进程,而接收者会将控制突然转移到它的一个信号处理程序。
描述:一个程序可以通过回避通常的栈规则,并执行到其他函数中任意位置的非本地跳转来对错误做出的反应。
工作总结:
1.硬件层:中断属于异常控制流,Linux底半部编程,HW,SW;
2.操作系统层:进程调度就是异常控制流;
3.应用层:消息,信号都属于异常控制流;
4.通常的栈规则:栈被保存,处理异常控制流之后恢复栈,某些情况不恢复。
本文出自 “山下问童子” 博客,请务必保留此出处http://linpeng.blog.51cto.com/9779987/1685095
8.0 异常控制流 第8章 《深入理解计算机系统 原书第2版》
原文地址:http://linpeng.blog.51cto.com/9779987/1685095