zoukankan      html  css  js  c++  java
  • 中断 异常 系统调用的比较

    为什么需要中断,异常和系统调用

    • 计算机运行中,内核是被信任的第三方 内核可以对操作系统做任何控制
    • 只有内核可以执行特权指令
    • 方便应用程序

    中断和异常希望解决的问题

    • 当外设连接计算机时,会出现什么现象
    • 当应用程序处理意想不到的行为时,会出现什么现象

    系统调用希望解决的问题

    • 用户应用程序是如何得到系统服务
    • 系统调用和功能调用的不同之处是什么

    内核的进入与退出

    系统调用 system call

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

    异常 exception

    • 非法指令或者其他原因导致当前指令执行失败后的处理请求

    中断 hardware interrupt

    • 来自硬件设备的处理请求

    源头上的不同
    • 中断,外设
    • 异常,应用程序的错误
    • 系统调用,应用程序请求操作提供服务

    响应方式

    • 中断,异步
    • 异常,同步
    • 系统调用,异步或者同步

    处理机制

    • 中断,持续,对用户应用程序是透明的
    • 异常,杀死或者重新执行意想不到的应用程序指令
    • 系统调用,等待和持续

    中断处理机制

    硬件处理

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

    在许可外界打扰cpu的执行之前,cpu不会对外界的任何中断请求发出响应,中断使能之后,才能做中断的处理

    1. 依据内部或外部事件设置中断标志
    2. 依据中断向量调用相应中断服务例程

    软件

    • 现场保存(编译器)
    • 中断服务处理(服务例程)
    • 清除中断标记(服务例程)
    • 现场恢复(编译器)

    中断嵌套

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

    • 不同硬件中断源可在硬件中断处理时出现
    • 硬件中断服务例程中需要临时禁止中断请求
    • 中断请求会保持到cpu做出响应

    异常服务例程可被打断

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

    异常服务例程可嵌套

    • 异常服务例程可能出现缺页
  • 相关阅读:
    mysql在windows下备份&恢复数据库语句
    Postman(三)、获取响应数据
    LoadRunner(八)、常用的接口压测格式
    LoadRunner(七)、集合点
    LoadRunner(六)、事务
    LoadRunner(五)、参数化之文本参数化
    repmgr安装使用
    PostgreSQL 游标的种类
    win server 2019 资源管理器 内存占用高
    给MySQL中某表增加一个新字段,并设为主键值为自动增长。
  • 原文地址:https://www.cnblogs.com/Alex3O/p/13296226.html
Copyright © 2011-2022 走看看