我对这两者的理解有点不清楚。互联网上的许多人都说他们都是一样的。有一些类似于我的问题,但是它们都没有在软件层面给出一个好的现实生活示例。
有人可以给我一个明确的例子,这有助于我理解彼此之间的差异吗?
例如,是否将软件中断除以零?还是例外?
答案 0 :(得分:0)
中断和异常具有相同的分派方法(通常通过系统中断向量)。但是,中断和异常的触发方式不同。
通过执行指令流发生异常。因此,异常发生在应用程序中的可预测点。
由于执行流外部的事件导致中断。
由于指令流使其成为异常而发生除零。
某些操作系统是基于中断的(例如,Windoze和VMS)。由于各种原因,它们允许应用程序在用户(或其他模式)中被中断。
例如。在这两个操作系统中,您可以排队I / O操作,然后在I / O完成时中断应用程序(由操作系统而不是硬件触发的软件中断)。