操作系统原理 —— 什么是中断?(四)

这篇具有很好参考价值的文章主要介绍了操作系统原理 —— 什么是中断?(四)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我们先来看看早期的计算机的工作流程:
操作系统原理 —— 什么是中断?(四)

如上图,在早期的计算机假设有三个程序需要执行,执行顺序是:先执行程序1,等待程序1结束之后,再开始执行程序2,以此类推,所以它们是串行执行的,这种方式效率就比较低,为了能够使计算机能够同时执行多个程序,从而引入了中断机制。

什么是中断?

为了解决程序只能串行执行的问题,人们发明了操作系统,操作系统相当于计算机的管理者,并且引入了中断机制,实现了多道程序并发执行。

也就是说,在多个程序同时执行的时候,如果发生了中断就意味着需要操作系统来介入,展开管理工作。

官方的定义:中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。

从官方的定义来看,中断其实就是为了支持多道程序并发执行 。

中断的概念和作用

我们再来详细看下中断的各个步骤所需要做的事:

1、当中断发生时,CPU 会立即进入核心态

2、当中断发生后,当前运行的进程会被暂停执行,并且由操作系统内核对中断进行处理。

3、对于不同的中断信息,会进行不同的处理。

发生了中断,就意味着需要计算机操作系统介入,展开管理工作。由于操作系统的管理工作(比如进程切换、分配I/O设备等)需要使用到特权指令,因此 CPU 要从用户态转为内核态。

中断可以使 CPU 从用户态切换为核心态,使操作系统获得计算机的控制权,有了中断,才能实现多道程序并发执行。

我们再来回顾一下前面两个章节的内容,如下图:

操作系统原理 —— 什么是中断?(四)

在之前的章节有说过,CPU 为了区分什么时候执行特权指令,从而定义了两种状态,一个是内核态,一个是用户态。 那它们之间如何进行切换呢?

用户态 切换 核心态,由于用户态无法执行特权指令,所以只能通过中断机制,来让操作系统切换为核心态,并且中断是唯一的途径。

核心态 切换 用户态,由于核心态即可以执行特权指令又可以执行非特权指令,所以只需要通过特权指令就可以切换为用户态。

中断的分类

操作系统原理 —— 什么是中断?(四)

如上图所示,中断可以分为:内中断、外中断

内中断:信号的来源是 CPU 的内部,与当前执行的指令有关,并且内中断又可以分为自愿中断、强迫中断。

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

在关于中断的分类还可以安装下图来进行区分:
操作系统原理 —— 什么是中断?(四)

外中断处理的过程

我们再来看看外中断的处理过程:
操作系统原理 —— 什么是中断?(四)

如上图,本来用户程序需要执行指令1~5:

1、执行完每一个指令之后,CPU 都要检查当前是否有外部中断信号。

2、如果检查到外部中断信息,则需要保护被中断进程的 CPU 环境 (类似于 Java 多线程上下文切换,保护现场)。

3、根据中断信息类型转入相应的中断处理程序。

4、处理完中断之后,恢复原进程的 CPU 环境并且退出中断,返回原进程继续往下执行。

本章总结

操作系统原理 —— 什么是中断?(四)文章来源地址https://www.toymoban.com/news/detail-423192.html

到了这里,关于操作系统原理 —— 什么是中断?(四)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 操作系统:实验一:进程调度实验——最高优先数优先的调度算法以及先来先服务算法 源码

    操作系统:实验一:进程调度实验——最高优先数优先的调度算法以及先来先服务算法 源码

    一、实验目的 (1)了解进程实体PCB结构; (2)理解进程不同状态和状态之间的转换过程; (3)掌握优先数的调度算法和先来先服务算法; 二、实验内容与要求 设计一个有 N个进程共行的进程调度程序 四、实验步骤 (1)实验设计 进程调度算法: 采用最高优先数优先的调

    2024年02月06日
    浏览(8)
  • 【操作系统】-- 先来先服务算法(FCFS)、短作业优先算法(SJF)、高响应比调度算法(HRRN)

    【操作系统】-- 先来先服务算法(FCFS)、短作业优先算法(SJF)、高响应比调度算法(HRRN)

    1、算法思想 主要从 公平 的角度考虑。 2、算法规则 按照 作业/进程 到达的 先后顺序 进行服务。 3、是否可抢占 非抢占式算法。 4、是否可导致饥饿 不会导致饥饿。 5、优缺点 优点:公平、算法实现简单。 缺点:对长作业有利,对短作业不利。 6、例题 例:各进程到达就绪

    2024年02月02日
    浏览(13)
  • 操作系统有关进程调度算法(含先来先服务,短作业优先,优先级调度算法和时间片轮转调度算法)

    操作系统有关进程调度算法(含先来先服务,短作业优先,优先级调度算法和时间片轮转调度算法)

    本文采用的进程调度算法有:先来先服务,短作业优先,优先级调度算法和时间片轮转调度算法。 针对这四种算法,我采用的是建立数组结构体,如: 先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度,也可用于进程调度。采用FCFS算法,每次从

    2024年02月03日
    浏览(14)
  • 操作系统:用C语言实现FCFS(先来先服务),SJF(短作业抢占)和RR(时间片轮转,时间片=1)

    操作系统:用C语言实现FCFS(先来先服务),SJF(短作业抢占)和RR(时间片轮转,时间片=1)

       加深对进程调度的理解,熟悉进程调度的不同算法,比较其优劣性。 假如一个系统中有5个进程,它们的到达时间内如表1所示,忽略I/O以及其他开销时间。若分别按先来先服务(FCFS)、抢占的短作业优先(SJF)、时间片轮转(RR,时间片=1)进行CPU调度,请按照上述三个

    2024年02月04日
    浏览(13)
  • Mac 操作系统版本简史,让我们回到过去

    Mac 操作系统版本简史,让我们回到过去

    几十年来,苹果一直在电脑领域不断发展创新,从 1984 年的第一个图形用户界面到 macOS Monterey,Mac 操作系统的历史漫长而多变。当我们按顺序重新访问每个 Mac 操作系统版本时,可以回到过去。 Apple I,Apple 的第一台计算机,实际上并没有操作系统,它可以将程序保存到盒式

    2024年02月12日
    浏览(10)
  • 操作系统的运行机制、中断和异常、系统调用

    操作系统的运行机制、中断和异常、系统调用

    🐌个人主页: 🐌 叶落闲庭 💨我的专栏:💨 c语言 数据结构 javaweb 石可破也,而不可夺坚;丹可磨也,而不可夺赤。 程序是如何运行的? 一条高级语言的代码翻译过来可能会对应多条机器指令 程序运行的过程就是CPU一条一条的机器指令的执行过程 “指令”就是处理器(

    2024年02月14日
    浏览(12)
  • 【操作系统】聊聊不可中断进程和僵尸进程

    【操作系统】聊聊不可中断进程和僵尸进程

    当我们输入top命令之后 其中S代表的是当前进程的状态 R (Running 或 Runnable) 进程在CPU的就绪队列中,正在运行或者等待运行。 D (Disk Sleep) 不可中断睡眠,进程正在跟硬件交互,不运行被其他进程或者中断打断。 Z (Zombie) 进程已经结束,但是父进程没有回收资源 (描述符、PID等

    2024年02月07日
    浏览(7)
  • 【操作系统】抖动、缺页中断率、页面置换算法

    【操作系统】抖动、缺页中断率、页面置换算法

    对于进程P的一个长度为A的页面访问序列,如果进程P在运行中发生缺页中断的次数为F,则f = F/A称为缺页中断率。 1、进程分得的主存页框数:页框数多则缺页中断率低,页框数少则缺页中断率高。 2、页面大小:页面大则缺页中断率低,页面小则缺页中断率高。 3、页面替换

    2024年01月20日
    浏览(10)
  • 《操作系统真象还原》学习笔记:第七章 中断

    《操作系统真象还原》学习笔记:第七章 中断

    由于 CPU 获知了计算机中发生的某些事,CPU 暂停正在执行的程序,转而去执行处理该事件的程序,当这段程序执行完毕后,CPU 继续执行刚才的程序。整个过程称为中断处理,也称为中断。 把中断按事件来源分类,来自CPU外部的中断就称为外部中断,来自CPU内部的中断就称为

    2024年02月11日
    浏览(15)
  • 头歌操作系统 课堂练习2.1 外部中断 答案

    头歌操作系统 课堂练习2.1 外部中断 答案

    第一关:时钟中断的发生 作答要求: 根据相关知识进行实际操作,一直输入 c 直到 0/1 将第一行完全填满。回答问题:当第一行 0/1 字符全部输出完毕的时候一共发生了几次时钟中断,即第一行完全填满时 jiffies 记录的已发生次数为多少? 一、设置版本1内核为分析对象 首先

    2024年02月12日
    浏览(91)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包