跳到主要内容

异常与信号

控制流和异常控制流是什么?​

  • 控制流: 从一条指令到另一条指令的转移序列;
  • 异常: 控制流中的突变, 用于响应处理器状态的变化;
  • 异常控制流 (ECF): 借助异常让控制流突变, 使程序能够应对系统状态的变化;

异常有哪几类?​

类别同步性含义
中断异步来自 I/O 设备的信号
陷阱同步故意触发的异常, 是系统调用的入口
故障同步可恢复的错误, 处理后可重新执行当前指令
终止同步不可恢复的错误, 直接终止程序

信号是什么,怎样处理?​

  • 信号: 异常的软件形式, 一种信号对应一个系统事件;
  • 发送: 把信号发送给目标进程;
  • 接收: 目标进程在某个时刻接收信号, 并执行对应的信号处理程序;