内中断(异常)

#发生的例子

  • 如CPU在用户态的状态下,执行了特权指令,触发中断
  • 如CPU在进行除法运算除数为0,非法计算指令,触发中断
  • 如CPU执行了一个“陷入指令”,该指令会引发一个内中断,一般是一个应用程序想请求操作系统内核的服务
  • "陷入指令"并非特权指令
  • #内中断分类

  • 陷入,陷阱:即应用程序使用“陷入指令”故意引发的
  • 故障:内核程序可自主修复,修复完成后会CPU权限会还给应用程序,如缺页故障
  • 终止:由致命错误引起,内核程序无法修复该错误,一般不会将CPU权限还给应用程序,而且会直接终止应用程序的执行,如非法使用特权指令,整数除0
  • #总结

  • 1.CPU处理非法指令触发中断
  • 2.CPU接受到特殊指令触发中断