首页 > 其他分享 >什么是软中断?

什么是软中断?

时间:2022-12-08 20:00:24浏览次数:35  
标签:配送 中断 什么 半部 内核 上半部 处理程序

前面我们也提到了,中断请求的处理程序应该要短且快,这样才能减少对正常进程运行调度地影响,而且中断处理程序可能会暂时关闭中断,这时如果中断处理程序执行时间过长,可能在还未执行完中断处理程序前,会丢失当前其他设备的中断请求。

那 Linux 系统为了解决中断处理程序执行过长和中断丢失的问题,将中断过程分成了两个阶段,分别是「上半部和下半部分」

  • 上半部用来快速处理中断,一般会暂时关闭中断请求,主要负责处理跟硬件紧密相关或者时间敏感的事情。
  • 下半部用来延迟处理上半部未完成的工作,一般以「内核线程」的方式运行。

前面的外卖例子,由于第一个配送员长时间跟我通话,则导致第二位配送员无法拨通我的电话,其实当我接到第一位配送员的电话,可以告诉配送员说我现在下楼,剩下的事情,等我们见面再说(上半部),然后就可以挂断电话,到楼下后,在拿外卖,以及跟配送员说其他的事情(下半部)。

这样,第一位配送员就不会占用我手机太多时间,当第二位配送员正好过来时,会有很大几率拨通我的电话。

再举一个计算机中的例子,常见的网卡接收网络包的例子。

网卡收到网络包后,通过 DMA 方式将接收到的数据写入内存,接着会通过硬件中断通知内核有新的数据到了,于是内核就会调用对应的中断处理程序来处理该事件,这个事件的处理也是会分成上半部和下半部。

上部分要做的事情很少,会先禁止网卡中断,避免频繁硬中断,而降低内核的工作效率。接着,内核会触发一个软中断,把一些处理比较耗时且复杂的事情,交给「软中断处理程序」去做,也就是中断的下半部,其主要是需要从内存中找到网络数据,再按照网络协议栈,对网络数据进行逐层解析和处理,最后把数据送给应用程序。

所以,中断处理程序的上部分和下半部可以理解为:

  • 上半部直接处理硬件请求,也就是硬中断,主要是负责耗时短的工作,特点是快速执行;
  • 下半部是由内核触发,也就说软中断,主要是负责上半部未完成的工作,通常都是耗时比较长的事情,特点是延迟执行;

还有一个区别,硬中断(上半部)是会打断 CPU 正在执行的任务,然后立即执行中断处理程序,而软中断(下半部)是以内核线程的方式执行,并且每一个 CPU 都对应一个软中断内核线程,名字通常为「ksoftirqd/CPU 编号」,比如 0 号 CPU 对应的软中断内核线程的名字是 ksoftirqd/0

不过,软中断不只是包括硬件设备中断处理程序的下半部,一些内核自定义事件也属于软中断,比如内核调度等、RCU 锁(内核里常用的一种锁)等。

标签:配送,中断,什么,半部,内核,上半部,处理程序
From: https://www.cnblogs.com/imreW/p/16967130.html

相关文章

  • 中断是什么?
    先来看看什么是中断?在计算机中,中断是系统用来响应硬件设备请求的一种机制,操作系统收到硬件的中断请求,会打断正在执行的进程,然后调用内核中的中断处理程序来响应请求。这样......
  • 为什么您的企业网络需要双因素身份验证!
    自互联网走进我们的生活以来,密码无论在生活和工作当中都充当着敏感数据信息的守护者。但如今尽管密码可能仍被很多企业所使用,但如果不对其进行改善,它已不能阻挡日益猖獗的网......
  • 有奖征文 | 当我们谈操作系统时,我们在谈什么?
    OS,OperatingSystem,操作系统,计算机中最基本也是最重要的基础性系统软件。1991年,大二学生 LinusTorvalds写出Linux0.01,经过几十年的发展,以Linux为代表的服务器操作系......
  • 什么是SHA系列算法,SHA-1和MD5算法有什么区别
    有些朋友在研究微信支付接口的时候,发现它们不仅支持MD5摘要的验签,还支持SHA-256摘要。那么这个SHA是什么呢?别着急,本文将和大家说一说什么是SHA系列算法,SHA这么多版本之间有......
  • 什么是SHA系列算法,SHA-1和MD5算法有什么区别
    有些朋友在研究微信支付接口的时候,发现它们不仅支持MD5摘要的验签,还支持SHA-256摘要。那么这个SHA是什么呢?别着急,本文将和大家说一说什么是SHA系列算法,SHA这么多版本之间有......
  • 什么是SHA系列算法,SHA-1和MD5算法有什么区别
    有些朋友在研究微信支付接口的时候,发现它们不仅支持MD5摘要的验签,还支持SHA-256摘要。那么这个SHA是什么呢?别着急,本文将和大家说一说什么是SHA系列算法,SHA这么多版本之间有......
  • 【视频】什么是非线性模型与R语言多项式回归、局部平滑样条、 广义相加GAM分析工资数
    全文链接:http://tecdat.cn/?p=9706最近我们被客户要求撰写关于非线性模型的研究报告,包括一些图形和统计输出。在这文中,我将介绍非线性回归的基础知识。非线性回归是一种......
  • 为什么外贸独立站商品销量不好?
    近年来,由于卖家数量飙升,平台竞争持续升级,卖家之间的恶性循环竞争(刷单、跟进、价格战)以及平台政策的不断调整(佣金提高、手续费提高、PPC费用提高)等。,导致亚马逊等众多平......
  • 你知道“智慧城市”是什么吗?
    一座城市囊括森罗万象,各个领域的数据资源繁冗复杂,政务、经济、民生等问题层出不穷,管理者基本上很难对整座城市进行统一管理。由此,业内提出了“智慧城市”的概念。 最开......
  • 不止是云购物,元宇宙中的购物方式究竟是什么样子?
            想象一下,将我们所处的世界完全数字化。对许多人来说,数字化之后的世界便是元宇宙,一个能够让人身临其境的虚拟空间。我们可以在其中结识朋友、购物、在虚拟办......