中断是个啥?

ゞ 浴缸里的玫瑰 2022-09-14 09:53 276阅读 0赞

一、中断的描述

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

处理流程,大致如下图:

在这里插入图片描述
那么,看了定义,也许有点理解。大概可以类比 搬砖人 进行搬砖但与此同时不知道未来会发生什么(对未来的未知性,OS的特性之一:异步性),下一刻也许就产品小姐姐找你谈需求变化,也许这种呼叫你可以进行推托(屏蔽中断),你要坚持完成自己手中的活。但有时无法推托必须暂放手中的活,转向去和小姐姐沟通,那么此时你不能忘记该活的相关信息,则需要保存下来,再去找小姐姐,完成之后再回到原地进行继续工作。

二、为什么需要中断

在了解了第一步部分的一个简单生活场景之后,来理解为什么需要中断,可能会好一点。计算机和人一样(用马克思理论来说 计算就是人类的拓展放大工具),那么计算机既然是人的工具就得和人的思维越近似越好(OOP),这样更利于解决现实问题。因此,从处理事务的需要角度来说,计算机如果只能一件件事情处理完才能转向其他事情,那么给人类的交互需求带来极大不便。有了需求的导向,但还需要物理实现才行,回顾一些计算机的发展:从人工阶段(开关操作)到 简单执行系统阶段(有了汇编程序,开始利用内存进行存储)(ROM))再到批处理阶段(开始出现多道程序设计),一步步走来虽然十分不易,但硬件技术(通道技术,CPU技术)的发展迅猛,中断技术也应运而生。综上归纳主要以下两点:

在这里插入图片描述
三、中断都做了些啥?

按照事件发生的顺序,中断过程包括 :
①中断源发出中断请求;
②判断当前处理机是否允许中断和该中断源是否被屏蔽;
③优先权排队;
④处理机执行完当前指令或当前指令无法执行完,则立即停止当前程序,保护断点地址和处理机当前状态,转入相应的中断服务程序;

⑤执行中断服务程序;
⑥恢复被保护的状态,执行“中断返回”指令回到被中断的程序或转入其他程序。
上述过程中前四项操作是由硬件完成的,后两项是由软件完成的。

在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,276人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JavaScript中this究竟

    js中的this是什么,相信有经验coder肯定都用过,但被问起来又似懂非懂的搞不清楚,实际上this在定义的时候还不能确定是什么,只有在调用之后才会被确定,可以说this指的

    相关 构造方法到底

    来来来,搞这个构造方法之前我们来看看啥是方法,方法就是一些语句凑在一块实现一些功能的集合,方法通常由两部分组成:参数和返回值。 参数是进入方法里面的数据,通过方法体里面的语句

    相关 JNI到底

    JNI可能你看点Java的书或者JVM的书,都会提到,但是好像很多就是点到为止,也不具体说一下到底是啥,干什么的,真的是“不讲武德”。 JNI全程是Java Native I

    相关 Noed.js

    Noed.js 是个啥 通俗的讲,node.js是一种javascript的运行环境,能够使得javascript脱离浏览器运行。 我们可以使用它在电脑上跑一个用ja

    相关 中断

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

    相关 PEST分析模型

    PEST模型很多同学多多少少都有听过,今天来跟大家系统的聊聊他是什么,怎么用和局限性。 PEST到底是什么 PEST模型,是做行业宏观环境分析时很常用的一个分析模型