中断和异常之间的区别.docVIP

  • 92
  • 0
  • 约4.48千字
  • 约 4页
  • 2017-07-14 发布于河南
  • 举报
中断和异常之间的区别

4.异常和中断的区别: 1异常: 是指CPU内部出现的中断,即在CPU执行特定指令时出现的非法情况。同时异常也称为同步中断,因此只有在一条指令执行后才会发出中断 ,不可能在指令执行期间发生异常。 a.产生的原因: 程序的错误产生的(eg:除数为0) 内核必须处理的异常条件产生的(eg:缺页) b.异常又分为故障和陷阱,它们都不使用中断控制器,也不能被屏蔽 c.X86处理处理器中大约有20中异常。Linux内核必须为每种异常提供一个专门的异常处理程序。 2中断:也称为异步中断。因此它是由其他硬件设备依照 CPU 时钟信号随机产生,即意味着中断能在指令之间发生。 a.中断又分为外部可屏蔽中断(INTR)和外部非屏蔽中断(NMI) 所用I0设备产生的中断请求均引起可屏蔽中断 硬件故障引起的故障则产生非屏蔽中断。 John说明: 在CPU执行一个异常处理程序时,就不再响应其他异常和中断请求服务.那么如果此时发生了一个异常,CPU不能去响应它,又不能把它的信息丢失该怎么办呢? 这是就用到了堆栈,把所有的信息压入栈。等当前异常处理后,才从堆栈中取出信息再响应刚才的异常。(当产生多个非屏蔽中断时,CPU的处理方法同上)

文档评论(0)

1亿VIP精品文档

相关文档