中断机制的诞生:

早期的计算机,各程序只能串行执行,系统资源利用率低。

为了解决上述问题,人们发明了操作系统,引入中断机制,实现了多道程序并发执行

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

由于操作系统的管理工作(比如进程切换,分配I/O设备等)需要使用特权指令,因此CPU要从用户态转为核心态。中断可以使CPU从用户态切换为核心态(唯一途径),使操作系统获得计算机的控制权。

有了中断,才能实现多道程序并发执行。

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

多个程序并发执行,进程1运行一段时间后,CPU收到计时部件发出的中断信号,时间过了一个时间片,切换为核心态,对中断进行处理。操作系统 把CPU的使用权切换到进程2。

(1)当中断发生时,CPU立即进入核心态。

(2)当中断发生时,当前运行的进程暂停运行,并由操作系统内核对中断进行处理

(3)对于不同的中断信号,会进行不同的处理


中断分类:

内中断(异常,例外,陷入):

信号来源:CPU内部,与当前执行的指令有关

自愿中断:指令中断(如访管指令)

强迫中断:

硬件故障(如缺页)

软件中断(整数除0)

外中断(中断):

信号来源:CPU外部,与当前执行的指令无关

外设请求:如I/O操作完成发出的中断信号

人工干预:用户强行终止一个进程


外中断的处理过程

(隐喻:游戏存档)

【操作系统笔记】中断和异常相关推荐

  1. 【操作系统】—中断和异常

    [操作系统]-中断和异常 本章节思维导图如下 一.中断的概念和作用 本质:发生中断意味着需要操作系统介入开展管理工作,CPU会进入核心状态 中断是CPU从用户进入状态的唯一途径 二.中断的分类 分类一 ...

  2. 操作系统笔记-中断、进程、并发(持续更新)

    操作系统的概念.功能和目标 操作系统的概念 操作系统与我们每个人的生活联系很紧密,只要有计算机的地方就会有操作系统,常见的操作系统有哪些? 常见的操作系统:android.windows.iOS.ma ...

  3. 2021-07-05 操作系统实操相关知识点笔记--中断、异常的响应和处理

    以下实验内容来自educoder,通过实验获得更具体的认知 本阶段将学习中断/异常的响应和处理 ,学习系统调用的处理过程. 实验1 通过实际操作回答在输出第一行 0/1 字符的过程中(如下图所示),共 ...

  4. 【操作系统】中断和异常的比较

    当中断或异常发生时,运行在用户态的CPU会进入内核态,这是通过硬件实现的. 中断是指来自CPU执行指令以外的事件的发生,如设备发出的I/O结束中断.时钟中断等. 中断通常是与当前程序运行无关的事件,即 ...

  5. 【操作系统/OS笔记03】启动、中断、异常和系统调用

    本次笔记内容: 2.1 启动 2.2 中断.异常和系统调用 文章目录 启动 BIOS加载Bootloader 操作系统与设备和程序交互 定义 从源头区分 从处理时间区分 从响应区分 中断.异常和系统调 ...

  6. 操作系统(thuOS)笔记(一) 第三讲 启动、中断、异常和系统调用

    thuOS笔记(一) 第三讲 启动.中断.异常和系统调用 3.1 BIOS BIOS 加载程序 BIOS系统调用 3.2 系统启动流程 CPU初始化:**加点稳定后**,从0xFFFF0读第一条跳转指 ...

  7. 操作系统from清华大学向勇,陈渝 笔记(二)操作系统的启动、中断、异常、系统调用

    下一篇在这里(三)(四)内存层次和连续.非连续分配 上一篇绪论在这里(一)操作系统绪论 INDEX 2-1 操作系统的启动 2-2 操作系统的中断.异常.系统调用 2-1 操作系统的启动 启动:机器三 ...

  8. 中断和异常 in 操作系统【操作系统学习笔记】

    5.中断和异常 in 操作系统

  9. Linux操作系统原理与应用05:中断和异常

    目录 1. 中断概述 1.1 什么是中断 1.2 为什么引入中断 1.3 中断的分类 1.4 CPU什么时候响应中断 2. 中断控制器简介 2.1 中断的C/S模型结构 2.2 作为中介的中断控制器 ...

最新文章

  1. 数据结构(十)栈的作用--大数的加法运算
  2. 关于JQUery.parseJSON()函数的知识札记
  3. 天翼云从业认证(3.6)了解天翼云大数据SaaS服务
  4. 智能系统课件@丛爽老师-中国科学技术大学自动化系
  5. Elasticsearch安装(Linux)
  6. 通过beforeClass和afterClass设置增强Spring Test Framework
  7. [20170310]关于在线日志与归档3.txt
  8. java有哪些部分要学_java需要学习哪些知识
  9. 两台服务器怎么发文件,两台服务器怎么发文件
  10. html节点替换代码,html之DOM对象replaceChild()方法(子节点替换)功能简介说明
  11. catia三边倒角_CATIA课时:操作工具栏创建倒角倒圆角视频教程_翼狐网
  12. ubuntu服务器系统进入安全模式,ubuntu bios 无法进入安全模式
  13. ThinkPHP核心框架目录结构
  14. windows下 MikTex的安装和初步使用
  15. 湖南中职计算机考试练习题
  16. 跨境电商最新资讯——扬帆际海
  17. BD15AAANB10派克伺服阀
  18. js两数字相除 保留两位小数
  19. Blueprint介绍和使用
  20. 微软老照片AI修复开源代码运行错误

热门文章

  1. UVA1276 Network
  2. Go语言实现的素数筛选程序
  3. HDU1716 排列2【全排列+输出格式】
  4. 非递归求解N皇后问题(回溯法)
  5. pandas 学习(五)—— datetime(日期)
  6. C Tricks(十二)—— 获取字符数组的末尾元素
  7. 深度学习实践指南(二)—— 符号编程
  8. Python 基础 —— time(时间,日期)
  9. C++基础——简单而强大的bitset
  10. centos mysql server_Centos 7 下载安装 mysql server 5.6 (亲测可用)