zoukankan      html  css  js  c++  java
  • 操作系统-中断

    1.为什么有中断以及什么事中断

    早起的计算机各个程序只能串行运行,系统的资源利用率比较低。为了解决上述问题,就引入了中断的概念,实现了多个程序并行执行,提高了资源的利用率。

    线程的挂起和唤醒、进程之间的调度、IO完成、代码异常都是和中断有关。

    操作系统的中是指程序执行过程中,遇到紧急的事件时暂时中止CPU上现行的程序运行,转去执行相应的事件处理程序,待处理完成后再返回原来程序或者调度其他程序执行的过程。

    2.中断的本质

    发生中断意味着需要操作系统介入,开展管理工作(进程切换、分配IO设备),需要特权指令,因此需要从用户态转换为核心态,中断就是使CPU从用户态转换为核心态,使操作体统获得计算机的控制权。因此有了中断,才能实现多个程序并发执行。用户态切换到核心态只能通过中断机制来实现并且是唯一途径。

    3.中断的分类

    内中断:包括系统调用和异常情况。信号来源于CPU内部,于当前执行的指令有关(如整除0)。

    外中断:信号来源于CPU外部,于当前执行的指令无关,比如用户结束一个进程、IO设备完成操作后发生的中断信号。

    4.中断的处理过程

    执行完威哥指令后,CPU都要检查当前是否有外部中断信号。

    如果检测到外部中断信号,则需要保护被中断执行的进程CPU环境(程序状态字、程序计算器、各种通用寄存器)。

    根据中断信号类型转入相应的中断处理程序。

    恢复进程CPU环境并退出中断,返回原来进程继续往下执行。

  • 相关阅读:
    vue----webpack模板----axios请求
    vue-----meta路由元信息
    vue----webpack模板----全局路由守卫
    vue----webpack模板----局部路由守卫
    vue----webpack模板----组件复用解决方法
    vue----webpack模板----编程式导航
    vue----webpack模板----路由跳转的3中方式
    vue----webpack模板----路由传值
    vue----webpack模板----children子路由,路由嵌套
    vue----webpack模板----路由配置项
  • 原文地址:https://www.cnblogs.com/VARForrest/p/15479499.html
Copyright © 2011-2022 走看看