系统调用(system call)
应用程序主动向操作系统发出的服务请求
异常
非法指令或者其他原因导致当前指令执行失败
如内存出错后的处理请求
中断
来自硬件设备的处理请求
如下图所示,包括中断,异常,和正常的通过函数库调用内核的操作接口。
三者不同
- 源头不同:
中断:外设
异常:应用程序意想不到的行为
系统调用:应用程序请求操作提供服务 - 响应方式:
中断:异步
异常:同步
系统调用:异步或同步 - 处理机制:
中断:持续,对用户应用程序是透明的
异常:杀死或者重新执行意想不到的应用程序指令
系统调用:等待和持续
中断和异常处理机制
需要硬件和软件结合处理,其中
硬件需要完成的部分:
1. 在CPU初始化时设置中断使能标志