ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

操作系统:中断和异常

2022-08-20 00:34:52  阅读:143  来源: 互联网

标签:操作系统 中断 指令 信号 执行 异常 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
来源: https://www.cnblogs.com/roundtheclock/p/16606951.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有