-
系统调用(system call)
应用程序主动向操作系统发出的服务请求
-
异常(exception)
非法指令或者其他原因导致当前指令执行失败 (如:内存出错)后的处理请求
-
中断(hardware interrupt)
来自外部硬件设备的处理请求
现在,正式开始从如下几个方面对三者进行比较:
源头
中断:外设引起
异常:应用程序意想不到的行为
系统调用:应用程序请求操作系统提供服务
响应方式
中断:异步
异常:同步
系统调用:异步或同步
处理机制
中断:持续,对用户应用程序是透明的
异常:杀死或者重新执行意想不到的应用程序指令
系统调用:等待和持续