首页 > 其他分享 >操作系统:中断和异常

操作系统:中断和异常

时间:2022-08-20 00:12:03浏览次数:61  
标签:操作系统 中断 指令 信号 执行 异常 CPU

操作系统:中断和异常

目录

中断机制的诞生

​ 早期计算机各程序只能串行执行,系统资源利用率低。为了解决这个问题,人们发明了操作系统(作为计算机的管理者),引入终端机制,实现了多道程序并发执行。

本质:发生中断就意味着需要操作系统介入,开展管理工作

中断的概念和作用

  1. 当中断发生时,CPU立即进入核心态
  2. 当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理
  3. 对于不同的中断信号,会进行不同的处理

​ 发生了中断,就意味着需要操作系统介入,开展管理工作。由于操作系统的管理工作(比如进程切换、分配I/O设备等)需要使用特权指令,因此CPU要从用户态转为核心态。中断可以使CPU从用户态切换为核心态,使操作系统获得计算机的控制权。有了中断,才能实现多道程序并发执行

用户态到核心态”是通过中断实现的。并且中断唯一途径。

核心态到用户态”的切换是通过执行一个特权指令,将程序状态字(PSW)的标志设置为”用户态“

中段的分类

内中断(也称为异常、例外、陷入)

信号的来源:CPU内部

与当前执行的指令有关。

内中断分为:

  1. 自愿中断——指令中断:如系统调用时使用的访管指令(又叫陷入指令、trap指令)
  2. 强迫中断:
    1. 硬件故障:如缺页
    2. 软件中断:如整数除0

也可分为:

  1. 陷阱、陷入(trap):有意为之的异常,如系统调用
  2. 故障(fault):由错误条件引起的,可能被故障处理程序修复,如缺页
  3. 终止(abort):不可恢复的致命错误造成的结果,终止处理程序不再将控制返回给引发终止的应用程序,如整数除0

外中断(中断)

信号的来源:CPU外部

与当前执行的指令无关

外中断分为:

  1. 外设请求:如I/O操作完成发出的中断信号
  2. 人工干预:如用户强行终止一个进程

外中断的处理过程

  1. 执行玩每个指令之后,CPU都要检查当前是否由外部中断信号
  2. 如果检测到外部中断信号,则需要保护被中断进程的CPU环境(如程序状态字PSW、程序计数器PC、各种通用寄存器)
  3. 根据中断信号类型转入相应的中断处理程序(核心态)
  4. 恢复原进程的CPU环境并退出中断,返回原进程继续往下执行

标签:操作系统,中断,指令,信号,执行,异常,CPU
From: https://www.cnblogs.com/roundtheclock/p/16606951.html

相关文章

  • 操作系统的运行机制体系结构
    操作系统的运行机制体系结构目录目录操作系统的运行机制体系结构目录运行机制两种指令两种处理器状态两种程序操作系统内核操作系统的体系结构大内核微内核运行机制两......
  • 《44》自定义异常
      ......
  • Kingbase V8R6存储过程变量数据导出到操作系统文件
    KingbaseV8R6存储过程变量数据导出到操作系统文件说明:KingbaseESV8R6如何将自定义过程中的变量数据导出到操作系统文件中。本次案例数据库版本:test=#selectversion......
  • 吴恩达机器学习笔记|(9)异常检测(Anomaly-Detection)
    例:飞机引擎检测、欺诈检测(用户的网站行为检测)一、高斯分布\(X\simN(\mu,\sigma^2)\)\(p(x;\mu,\sigma^2)=\frac{1}{\sqrt{2\pi}\sigma}\exp(-\frac{(x-\mu)^2}{2\si......
  • Centos7操作系统Tomcat启动慢的问题
    现象在一次CentOS7系统中安装Tomcat,启动过程很慢,需要几分钟,经过查看日志,发现耗时在这里:是Session引起的随机数问题导致的。Tocmat的SessionID是通过SHA1算法计算得到的,......
  • Linux操作系统学习
    Linux一切皆文件,最高权限的账户root。1、开机登录开机会启动很多进程,在Windows上叫“服务”(service),在Linux上叫做“守护进程”(daemon)登录方式:命令行登录ssh登录......
  • QT“程序异常结束”问题解决
    今天用QT写个小程序,出现了一个小问题,就是程序编译通过了,也能运行,但是有一个按键按下后程序就会异常结束。解决办法:由于文件中有多个类,而使用某个类的函数时,存在对象只声......
  • 1.1、操作系统的基本概念
    操作系统的基本概念操作系统的概念指控制和管理整个计算机系统的硬件与软件资源合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的......
  • 异常处理 try catch
    #include<iostream>usingnamespacestd;voidfunc(inta){if(a==0){throwstring("aiserror");throwa;}}intmain(){try......
  • 操作系统面试总结(持续更新ing)
    操作系统面试总结目录操作系统面试总结1.操作系统引论1.1操作系统的特点1.2操作系统的主要功能1.3各种操作系统的区别1.4操作系统的主要组成部分1.5动态链接库和静态......