中断异常

概要

CPU 运行到一些情况下会产生 异常(exception) ,例如访问无效的内存地址、执行非法指令(除零)、发生缺页等。用户程序进行 系统调用(syscall) ,或程序运行到 断点(breakpoint) 时,也会主动触发异常。

和异常类似的一个概念是中断(interrupt)。中断指的是 CPU 运行过程被外部信号打断,这些信号一般由 CPU 之外的硬件产生,表示某些事件发生,例如定时器倒计时结束、串口收到数据等。

当发生中断或异常时,CPU 会立即跳转到一个预先设置好的地址,执行中断处理程序,最后恢复原程序的执行。

本章中我们会实现一个简单的中断处理程序,具体分为以下部分:

  1. 设置中断入口点
  2. 创建 中断帧(TrapFrame) 结构体
  3. 在中断处理程序中保存和恢复寄存器
  4. 进行具体的中断处理

results matching ""

    No results matching ""

    results matching ""

      No results matching ""