异常

异常是异常控制流的一种基础形式,是处理器在执行指令过程中检测到特殊事件时触发的控制流转移。

异常表(Exception Table):系统启动时,操作系统初始化一个跳转表(异常表),表中每个条目指向对应的异常处理程序。异常表存储在内存的固定位置,处理器通过异常号来索引该表。

异常号(Exception Number):每种异常都分配有一个唯一的编号。异常号由系统设计时分配(如除零错误、缺页)或由外部设备提供(如I/O中断)。

异常处理程序:异常发生时,处理器暂停当前程序,保存必要的上下文,根据异常号在异常表中查找对应处理程序的地址并跳转执行。处理完成后,根据异常类型决定是恢复原程序执行还是终止程序。

关键意义:异常是操作系统实现进程抽象、虚拟内存、多任务等核心机制的底层基础。正是通过异常机制,操作系统才能在不打断上层应用的前提下介入并管理系统资源。异常不是错误——它是操作系统干预程序执行的主要方式。

链接到