计算机操作系统-中断
中断机制的诞生
为了提高计算机资源的利用率、效率,人们发明了操作系统来作为计算机的管理者,进而引入中断机制来辅助操作系统,实现了多道程序并发执行
本质
发生中断就意味着需要操作系统的介入,来展开管理工作。因为很多操作是需要使用特权指令来完成的,而用户程序是没有资格使用特权指令的,只能借助操作系统的内核来实现。所以产生中断的目的就是为了让操作系统来完成用户程序所完成不了的操作,此时用户程序会交出所占用的计算机资源,将其交给操作系统来使用。操作系统使用完之后,会将计算机资源交还给用户程序。这就是中断的意义。操作系统就像是一个管理员,服务员,而中断信号相当于一个传唤信息,用户程序通过中断机制发出中断信号,对操作系统进行传唤,让操作系统的内核(功能)帮助其完成用户程序完成不了的操作(执行特权指令),而在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环境并退出中断,返回原进程继续往下执行
计算机操作系统-中断相关推荐
- 国防科大计算机考研大纲,2022年国防科技大学F1003计算机操作系统考研大纲及参考书目...
2022年研究生入学考试自命题科目考试大纲 科目代码:F1003 科目名称:计算机操作系统 一.参考书目 1.<操作系统教程>(第5版),费祥林,高等教育出版社,2014年. 2.< ...
- 面试「计算机操作系统」知识点大集合!
作者:CyC2018 链接:https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/计算机操作系统.md 一.概述 基本特征 1. 并发 ...
- 计算机操作系统还能这样玩?这一篇计算机操作系统的总结为你保驾护航(零风险、高质量、万字长文、建议收藏)
操作系统目录 1.什么是操作系统 2.计算机操作系统的基本特征 2.1.并发 2.2.共享 2.3.虚拟 2.4.异步 3.操作系统的发展 4.OS的运行机制和体系结构 4.1.运行机制 4.1.1. ...
- 计算机操作系统——页面置换算法
声明:本篇博客参考书籍<计算机操作系统>(西安电子科技大学出版社) 文章目录 一.最佳页面置换算法 1.基本知识 2.算法思想 二.先进先出(FIFO)页面置换算法 1.基本知识 2.算法 ...
- 计算机操作系统的新技术新知识,计算机操作系统教程:核心与设计原理
计算机操作系统教程:核心与设计原理 语音 编辑 锁定 讨论 上传视频 <计算机操作系统教程--核心与设计原理>是2007年清华大学出版社出版的图书,作者是范策.许宪成.黄红桃. 书 ...
- 计算机系统中存储管理是,《计算机操作系统5、存储管理.doc
<计算机操作系统5.存储管理 一.选择题 1.存储器管理的主要功能是内存分配.地址映射.内存保护和( ). A. 2.把逻辑地址转变为内存的物理地址的过程称作( ) A. D.重定位 3.物理地 ...
- 计算机系统操作在线作业,电子科大《计算机操作系统》在线作业3
计算机操作,计算机网络 14春13秋 13春电子科大<计算机操作 14春13秋 13春电子科大<计算机操作系统>在线作业3 1 2 试卷总分:100 测试时间:-- 单选题 .单选题 ...
- 计算机操作系统——经典进程的同步问题
计算机操作系统--信号量机制与经典进程的同步问题 信号量机制 随着发展,信号量从整型信号量经记录型信号量,进而发展为"信号量集"机制. 一般来说,信号量的值与相应的资源的使用情况有 ...
- 计算机操作系统——处理机调度算法
计算机操作系统--处理机调度算法 一.处理机调度的层次和调度算法的目标 1.处理及调度的层次 高级调度:(周期较长,大约几分钟一次) 又称为长程调度或作业调度 调度对象:作业 功能:根据算法决定将外存 ...
- 计算机操作系统超全详解
操作系统详解 一 为什么要有操作系统 (两本书:现代操作系统.操作系统原理,学好python以后再去研究吧~~) 现代的计算机系统主要是由一个或者多个处理器,主存,硬盘,键盘,鼠标,显示器,打印机,网 ...
最新文章
- AAAI 2021 | 时间序列相关论文汇总
- Python模块包中__init__.py文件的作用
- UA SIE545 优化理论基础4 对偶理论简介1 松弛问题与Lagrange对偶
- 10.3 在线学习与 MapReduce-机器学习笔记-斯坦福吴恩达教授
- Android进程退出的方法
- Git 分支的创建与切换 —— Git 学习笔记 14
- python调研报告总结体会_调研报告心得(多篇)
- 一分钟开发一个hello world级别的wordpress插件
- hazelcast入门教程_Hazelcast入门指南第5部分
- LeetCode 738. 单调递增的数字(贪心)
- 经典:某程序员手机里保存的五十条牛B短信
- 如何选择一个Linux发行版本
- Android开发与Sequoyah的安装问题
- Windows Phone 7中使用PhoneApplicationService类保存应用程序状态
- java 蓝桥杯算法训练 特殊的数字四十
- [日志]挂在树上的茶壶
- centos 7 redis-4.0.11 主从
- python自动机器学习库auto_ml模块
- 华为鸿蒙系统英语报纸_“鸿蒙”系统的英文名叫这个!华为注册的这些名字都该怎么翻译?...
- hdu 4565(推公式、矩阵快速幂)