中断、异常和系统调用比较

学习链接:

http://www.xuetangx.com/courses/course-v1:TsinghuaX+30240243X+sp/courseware/1d95cdf6f0e943448801e538b039300a/3a549c366aac4c90a5effdcc7b5f8ebb/

系统调用

  应用程序主动向操作系统发出的服务请求

异常

  非法指令或者其他原因导致当前指令执行失败

中断

  来自硬件设备的处理请求

源头

中断:外部设备

异常:应用程序

系统调用:应用程序请求操作系统提供服务

响应方式

中断:异步

异常:同步

系统调用:同步或者异步

处理机制

中断:持续,对用户应用程序是透明的

异常:杀死或者重新执行意想不到的应用程序指令

系统调用:等待和持续

中断处理机制

硬件处理

  在cpu初始化时设置中断使能标志

    依据内部或者外部事件

软件

  现场保存(编译器)

  中断服务处理(服务例程)

  清楚中断标志(服务例程)

  现场恢复(编译器)

中断嵌套

  硬件中断服务例程可被打断

    不同硬件中断可能硬件中断处理时出现

    硬件中断服务例程中需要临时禁止中断请求

    中断请求会保存到CPU做出响应

  异常服务例程可被打断

    异常服务例程执行时可能出现硬件中断

  异常服务例程可嵌套

    异常服务例程可能出现缺页

猜你喜欢

转载自www.cnblogs.com/y15821933792/p/8960614.html