中断、陷阱都算异常(exception)。CSAPP把异常分为四类:
1. 中断(interrupt)
2. 陷阱(trap),比如系统调用
3. 故障(fault),比如虚拟内存缺页时,会发生page fault, 然后对应的缺页处理程序就会从磁盘中取出页面
4. 终止(abort), 不可恢复的致命错误,比如DRAM出现位损坏。abort会导致应用程序被中止。
系统启动时,操作系统会分配和初始化“异常表”,维护异常类型和异常处理程序的对应关系。
异常也是程序从用户态进入内核态的唯一手段。