异常控制流存在于操作系统的方方面面,最底层的机制称为异常(Exception),由硬件和操作系统共同实现。另外还有:
进程切换(Process Context Switch): 硬件计时器和操作系统实现;
信号(Signal): 操作系统实现;
非本地跳转(Nonlocal Jumps):运行时实现。
异常
这里的异常指的是把控制交给系统内核来响应某些事件(例如处理器状态的变化),其中内核是操作系统常驻内存的一部分,而这类事件包括除以零、数学运算溢出、页错误、I/O 请求完成或用户按下了 ctrl+c 等等系统级别的事件。
系统会通过异常表(Exception Table)来确定跳转的位置,每种事件都有对应的唯一的异常编号,发生对应异常时就会调用对应的异常处理代码。
时间: 2024-10-02 01:15:12