• 中断机制的诞生

为了提高计算机资源的利用率、效率,人们发明了操作系统来作为计算机的管理者,进而引入中断机制来辅助操作系统,实现了多道程序并发执行

本质

发生中断就意味着需要操作系统的介入,来展开管理工作。因为很多操作是需要使用特权指令来完成的,而用户程序是没有资格使用特权指令的,只能借助操作系统的内核来实现。所以产生中断的目的就是为了让操作系统来完成用户程序所完成不了的操作,此时用户程序会交出所占用的计算机资源,将其交给操作系统来使用。操作系统使用完之后,会将计算机资源交还给用户程序。这就是中断的意义。操作系统就像是一个管理员,服务员,而中断信号相当于一个传唤信息,用户程序通过中断机制发出中断信号,对操作系统进行传唤,让操作系统的内核(功能)帮助其完成用户程序完成不了的操作(执行特权指令),而在CPU执行操作系统内核功能时,处理器CPU状态会从用户态转换成核心态

举例

多个程序并发运行时,由于处理器对每个程序划分时间片,当计时器计时到了的时候,则应当执行下一个程序。而这个操作需要控制CPU,所需要的是特权指令,而用户程序并没有使用特权指令的资格,所以它需要产生中断信号,呼唤操作系统的内核来代替用户程序执行相应的特权指令。操作系统收到中断信号后会将相应的资源的使用权占有,这里资源是CPU,即操作系统将占有CPU的使用权,此时处理器的状态会由用户态转化为核心态,因为要处理的程序中存在特权指令。操作系统让CPU执行相应的特权指令后,会使得CPU接下来要执行的程序是原本应该下一个执行的程序。所以当完成特权指令的操作后,CPU的处理器状态会回归用户态,并且计算机资源使用权将重新回到用户程序中

总结

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

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

注意

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

而从核心态转换到用户态是通过执行一个特权指令,将程序状态字PSW的标志位设置为用户态

之所以用户态岛核心态无法设置PSW是因为设置PSW是需要执行特权指令的,可知用户态并没办法执行特权指令,所以只能通过中断来实现

  • 中断的分类

上文中的中断是广义的中断。

中断可以分为内中断和外中断。

内中断

也称为异常、例外、陷入。中断信号的来源是CPU内部,与当前执行的指令有关

自愿中断:指令中断,例如系统调用时使用的访管指令,又叫陷入指令、trap指令

强迫指令:

  • 硬件故障:缺页
  • 软件中断:整数除零

外中断

即为狭义的中断。中断信号的来源是CPU的外部,与当前执行的指令无关

  • 外设请求:例如IO操作完成发出的中断信号
  • 人工干预:例如用户强行终止一个进程

注意根本的区别:信号的来源

  • 外中断的处理过程

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

计算机操作系统-中断相关推荐

  1. 国防科大计算机考研大纲,2022年国防科技大学F1003计算机操作系统考研大纲及参考书目...

    2022年研究生入学考试自命题科目考试大纲 科目代码:F1003 科目名称:计算机操作系统 一.参考书目 1.<操作系统教程>(第5版),费祥林,高等教育出版社,2014年. 2.< ...

  2. 面试「计算机操作系统」知识点大集合!

    作者:CyC2018 链接:https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/计算机操作系统.md 一.概述 基本特征 1. 并发 ...

  3. 计算机操作系统还能这样玩?这一篇计算机操作系统的总结为你保驾护航(零风险、高质量、万字长文、建议收藏)

    操作系统目录 1.什么是操作系统 2.计算机操作系统的基本特征 2.1.并发 2.2.共享 2.3.虚拟 2.4.异步 3.操作系统的发展 4.OS的运行机制和体系结构 4.1.运行机制 4.1.1. ...

  4. 计算机操作系统——页面置换算法

    声明:本篇博客参考书籍<计算机操作系统>(西安电子科技大学出版社) 文章目录 一.最佳页面置换算法 1.基本知识 2.算法思想 二.先进先出(FIFO)页面置换算法 1.基本知识 2.算法 ...

  5. 计算机操作系统的新技术新知识,计算机操作系统教程:核心与设计原理

    计算机操作系统教程:核心与设计原理 语音 编辑 锁定 讨论 上传视频 <计算机操作系统教程--核心与设计原理>是2007年清华大学出版社出版的图书,作者是范策.许宪成.黄红桃. 书     ...

  6. 计算机系统中存储管理是,《计算机操作系统5、存储管理.doc

    <计算机操作系统5.存储管理 一.选择题 1.存储器管理的主要功能是内存分配.地址映射.内存保护和( ). A. 2.把逻辑地址转变为内存的物理地址的过程称作( ) A. D.重定位 3.物理地 ...

  7. 计算机系统操作在线作业,电子科大《计算机操作系统》在线作业3

    计算机操作,计算机网络 14春13秋 13春电子科大<计算机操作 14春13秋 13春电子科大<计算机操作系统>在线作业3 1 2 试卷总分:100 测试时间:-- 单选题 .单选题 ...

  8. 计算机操作系统——经典进程的同步问题

    计算机操作系统--信号量机制与经典进程的同步问题 信号量机制 随着发展,信号量从整型信号量经记录型信号量,进而发展为"信号量集"机制. 一般来说,信号量的值与相应的资源的使用情况有 ...

  9. 计算机操作系统——处理机调度算法

    计算机操作系统--处理机调度算法 一.处理机调度的层次和调度算法的目标 1.处理及调度的层次 高级调度:(周期较长,大约几分钟一次) 又称为长程调度或作业调度 调度对象:作业 功能:根据算法决定将外存 ...

  10. 计算机操作系统超全详解

    操作系统详解 一 为什么要有操作系统 (两本书:现代操作系统.操作系统原理,学好python以后再去研究吧~~) 现代的计算机系统主要是由一个或者多个处理器,主存,硬盘,键盘,鼠标,显示器,打印机,网 ...

最新文章

  1. python opencv 图像膨胀
  2. 计算机dns没有响应如何解决方案,dns未响应如何解决 dns未响应解决方法【图文】...
  3. strcpy函数的使用
  4. 【转载】一个男人关心的东西 决定了他的层次
  5. loadrunner 分用户日志
  6. event.target【转载】
  7. 使用手机游戏的新闻推送
  8. 基于FPGA实现PCIE IP功能仿真
  9. go语言 error
  10. python的pip换源_[Python]Pip换源以及设置代理
  11. Mybatis 向指定表中批量插入数据
  12. mysql分表和分区的区别
  13. [js]DOM 篇
  14. sqoop导出到mysql中文乱码问题总结、utf8、gbk
  15. mysql安装 linux rpm_linux MySQL5.7 rpm安装
  16. 多体系统的量子理论,多体系统的量子场论
  17. 腾讯Bugly工具介绍节选
  18. 有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中,谭浩强《c语言程序设计》第六章第四题
  19. GoogleMap获取地图中心点位置信息
  20. VUE2 组件间传值

热门文章

  1. 无线路由实战(一):增强无线wifi信号和加速wifi的十一种方法
  2. 自制WIFI放大器(信号真的有增强)
  3. 在centos7中下载搜狗输入法
  4. 三节锂电池充电管理芯片,IC电路图如何设计
  5. UVALive - 3055 Symmetric Order【水题】【STL】
  6. 2019计算机二级c题库百度云,【2019年整理】年全国计算机等级考试二级c语言上机题库.docx...
  7. 使用 eMMC 闪存设备的磨损估计
  8. 走进JavaWeb技术世界5:初探Tomcat的HTTP请求过程
  9. 计算折叠多少次纸能不低于珠穆朗玛峰
  10. 不想进大厂的程序员是没有梦想的,2021年阿里、腾讯,java架构师指南百度云