专业游戏门户,分享手游网游单机游戏百科知识攻略!

嗨游网
嗨游网

linux中什么是中断

来源:小嗨整编  作者:小嗨  发布时间:2024-03-20 08:25
摘要:在linux中,中断是硬件在需要的时候向cpu发出信号,cpu暂时停止正在进行的工作,来处理硬件请求的一种机制。当硬件忙碌的时候,cpu很可能会做许多无用功(每次轮询都是跳过不处理);所以为了提高cpu和外围硬件(硬盘,键盘,鼠标等等)之间...

在linux中,中断是硬件在需要的时候向cpu发出信号,cpu暂时停止正在进行的工作,来处理硬件请求的一种机制。当硬件忙碌的时候,cpu很可能会做许多无用功(每次轮询都是跳过不处理);所以为了提高cpu和外围硬件(硬盘,键盘,鼠标等等)之间协同工作的性能,引入了中断的机制。

linux中什么是中断

本教程操作环境:linux7.3系统、Dell G3电脑。

中断是硬件在需要的时候向CPU发出信号,CPU暂时停止正在进行的工作,来处理硬件请求的一种机制。

具体说: 中断是指在CPU正常运行期间,由于内外部事件或由程序预先安排的事件引起的CPU暂时停止正在运行的程序,转而为该内部或外部事件或预先安排的事件服务的程序中去,服务完毕后再返回去继续运行被暂时中断的程序。

1.1 背景(为什么需要中断)

1.没有中断的话,CPU和外围设备之间协同工作/通信可能只有轮询这个方法:CPU定期检查硬件状态,需要处理时就处理,否则就跳过。 2.处理器的速度跟外围的硬件设备不在一个数量级上,因此提供一种机制让硬件在需要的时候向内核发出信号。

轮询的缺点/引入中断机制: 当硬件忙碌的时候,CPU很可能会做许多无用功(每次轮询都是跳过不处理)。 所以,为了提高CPU和外围硬件(硬盘,键盘,鼠标等等)之间协同工作的性能,引入了中断的机制。

1.2 中断和信号

中断: 硬件/进程发,内核收信号:内核发,进程收,或者进程发进程收
登录后复制

1.3 中断处理过程(参考CSAPP书籍)

中断是异步发生的,是来自处理器外部的I/O设备的信号的结果1. 硬件中断不是由任何一条专门的指令造成的,从这个意义上来说它是异步的2. 硬件中断的异常处理程序常常被称为中断处理程序(interrupt handler)
登录后复制

下图概述了一个中断的处理。 图8.5

I/O设备,例如络适配器、磁盘控制器和定时器芯片,通过向处理器芯片上的一个管脚发信号,并将异常号放到系统总线上,来触发中断,这个异常号标识了引起中断的设备。 在当前指令完成执行之前,处理器注意到中断管脚的电压变高了,就从系统总线读取异常号,然后调用适当的中断处理程序。当处理程序返回时,它就将控制返回给下一条指令(也就是,如果没有发生中断,在控制流中会在当前指令之后的那条指令)。结果是程序继续执行,就好像没有发生过中断一样。

剩下的异常类型(陷阱、故障和终止)是同步发生的,是执行当前指令的结果我们把这类指令叫做故障指令(faulting instruction)
登录后复制

1.4 中断本质及处理机制/流程

中断本质是一种特殊的电信号

处理过程: 中断由硬件设备生成,并直接送入中断控制器(简单的电子芯片)的输入引脚中,中断控制器采用复用技术将多路中断管线只通过一个和处理器相连接的管线与处理器通信。处理器一经检测到此信号,便中断自己的当前工作转而处理中断。硬件设备生成中断的时候并不考虑与处理器的时钟同步,即中断随时可以产生,因此内核随时可能因为新到来的中断而被打断。

Linux中通常分为外部中断(又叫硬件中断)和内部中断(又叫异常)。

2.1 同步中断(异常/内部中断)

同步中断(异常/内部中断):同步中断由CPU本身产生,又称为内部中断或异常

CPU在执行一条指令时,如果发现他要访问的页(虚拟地址的页)没有在物理内存中,那么停止该指令的执行,并产生一个页不存在的异常 一个可执行文件可能很大,放在磁盘上,一次只将其中一部分读进内存(cpu局部性原理), 当他要访问剩余内容时,会产生缺页中断,这时候再去从磁盘上换进来

2.2 异步中断(中断/外部中断)

异步中断(中断/外部中断):异步中断是由外部硬件设备产生,又称为外部中断或中断

当网卡接受到数据包时,通知内核,触发中断,所谓的上半部就是,及时读取数据包到内存,防止因为延迟导致丢失,这是很急迫的工作。 读到内存后,对这些数据的处理不再紧迫,此时内核可以去执行中断前运行的程序,而对网络数据包的处理则交给下半部处理。

2.3 中断与异常的区别

异常与中断不同,中断是由硬件引起的; 异常则发生在编程失误而导致错误指令,或者在执行期间出现特殊情况必须要靠内核来处理的时候(比如缺页)。它在产生时必须考虑与处理器时钟同步,因此异常也称同步中断。

3.1 背景

中断处理程序运行需要快速执行(因为不可阻塞),同时要能完成尽可能多的工作,这里存在矛盾。

因此把中断处理切分为两个部分,上半部分(top half)接收到一个中断后立即执行,但是只做有严格时限的工作,例如对接收到的中断进行应答或复位硬件。能够被允许稍后完成的工作会推迟到下半部分(bottom half)去,此后在合适的时机下半部分会被中断执行,Linux提供了实现下半部分的各种机制。

优点:这种设计可以使系统处于中断屏蔽状态的时间尽可能的短,以此来提高系统的响应能力。

3.2 上半部:

中断处理程序是上半部——接受中断,他就立即开始执行,但只有做严格时限的工作。 上半部简单快速,执行时禁止一些或者全部中断。 工作内容:处理紧急功能,取寄存器状态。

3.3 下半部:

能够被允许稍后完成的工作会推迟到下半部去,此后,在合适的时机,下半部执行 工作内容:完成中断事件绝大多数任务。 下半部稍后执行,而且执行期间可以响应所有的中断。 下半部的实现有软中断实现, tasklet 实现和工作队列实现。

3.4 上下半部划分原则

1) 如果一个任务对时间非常敏感,将其放在中断处理程序中执行;2) 如果一个任务和硬件有关,将其放在中断处理程序中执行;3) 如果一个任务要保证不被其他中断打断,将其放在中断处理程序中执行;4) 其他所有任务,考虑放置在下半部执行
登录后复制

3.5 举例子: 用网卡来解释一下这两半。

当网卡接受到数据包时,通知内核,触发中断,所谓的上半部就是,及时读取数据包到内存,防止因为延迟导致丢失,这是很急迫的工作。 读到内存后,对这些数据的处理不再紧迫,此时内核可以去执行中断前运行的程序,而对网络数据包的处理则交给下半部处理。

中断对应着一个中断号,内核通过这个中断号查找相应的中断服务程序。

每个中断都通过一个唯一的数字标志,这样操作系统才能够给不同的中断提供对应的中断处理程序。 这些中断值即中断请求线,例如IRQ 0是时钟中断、IRQ 1是键盘中断。对于连接在PCI总线上的设备而言,中断请求线是动态分配的。

中断服务程序不在进程上下文中执行,而是在一个与所有进程都无关的、专门的中断上下文中运行,以此保证中断服务程序能够在第一时间响应和处理中断请求,然后快速地退出。

处理器在任何指定时间点上的活动必然属于以下三种情况之一:

运行于用户空间,执行用户进程;运行于内核空间,处于进程上下文,代表某个特定的进程执行; (CPU空闲时,内核执行空进程)运行于内核空间,处于中断上下文,与任何进程无关,处理某个特定的中断;
登录后复制

相关推荐:《Linux视频教程》

以上就是linux中什么是中断的详细内容,更多请关注易企推科技其它相关文章!


本文地址:网络百科频道 https://www.eeeoo.cn/wangluo/1151495.html,嗨游网一个专业手游免费下载攻略知识分享平台,本站部分内容来自网络分享,不对内容负责,如有涉及到您的权益,请联系我们删除,谢谢!


网络百科
小编:小嗨整编

上一篇:什么是ssh

下一篇:嗖嗖平台是干什么的

相关文章相关阅读
  • 阴阳师辉夜姬带什么御魂(阴阳师辉夜姬值得养吗)?

    阴阳师辉夜姬带什么御魂(阴阳师辉夜姬值得养吗)?

    阴阳师辉夜姬带什么御魂(阴阳师辉夜姬值得养吗)?辉夜姬作为阴阳师中的一位强力辅助式神,凭借其独特的技能和强大的辅助能力,成为了许多玩家心仪的选择。那么辉夜姬究竟带什么御魂才能发挥最大潜力呢?本文将为您详细介绍辉夜姬的御魂搭配,并分析其值得养...

  • 阴阳师青行灯什么时候出的(阴阳师青行灯值得培养吗)?

    阴阳师青行灯什么时候出的(阴阳师青行灯值得培养吗)?

    阴阳师青行灯什么时候出的(阴阳师青行灯值得培养吗)?随着阴阳师这款手游的火热,各种式神层出不穷,其中SSR级别的式神更是备受玩家关注。青行灯作为SSR中的常青树,自出道以来便以其独特的技能和强大的实力,吸引了无数玩家的目光。阴阳师青行灯什么...

  • 阴阳师彼岸花什么时候出的(阴阳师彼岸花值得练吗)?

    阴阳师彼岸花什么时候出的(阴阳师彼岸花值得练吗)?

    阴阳师彼岸花什么时候出的(阴阳师彼岸花值得练吗)?彼岸花作为阴阳师中的SSR式神,首次出现在游戏中是在2016年。随后,官方推出了SP版本的彼岸花,名为“夜溟彼岸花”,并于2021年1月6日正式上线。阴阳师彼岸花值得练吗彼岸花的技能设计非常...

  • 魔兽世界泰兰德是什么职业(魔兽世界泰兰德幻化怎么获得)?

    魔兽世界泰兰德是什么职业(魔兽世界泰兰德幻化怎么获得)?

    魔兽世界泰兰德是什么职业(魔兽世界泰兰德幻化怎么获得)?在魔兽世界中,泰兰德是魔兽世界中暗夜精灵种族的代表性角色,她以牧师职业为主。牧师在游戏中拥有强大的治疗和辅助能力,是团队中不可或缺的重要角色。泰兰德作为一名牧师,擅长使用圣光和暗影之力...

  • lol小丑的名字叫什么(lol小丑怎么分辨真假)?

    lol小丑的名字叫什么(lol小丑怎么分辨真假)?

    lol小丑的名字叫什么(lol小丑怎么分辨真假)?在lol英雄联盟中,小丑(Janna)作为一位辅助英雄,以其独特的技能和出色的辅助能力深受玩家喜爱。然而,许多玩家在游戏中可能遇到真假小丑难以辨别的问题。本文将为大家详细解析LOL小丑的名字...

  • lol老鼠叫什么(lol老鼠技能介绍)?

    lol老鼠叫什么(lol老鼠技能介绍)?

    lol老鼠叫什么(lol老鼠技能介绍)?在lol中,老鼠这位英雄正式名称为“瘟疫之源·图奇”。他以其独特的毒液技能和隐身能力,在游戏中扮演着一名出色的刺客和骚扰者。以下是关于老鼠的详细技能介绍:lol老鼠技能介绍一、被动技能——死亡毒液老鼠...

  • dnf红玉髓是干什么用的(dnf红玉髓在哪里兑换)?

    dnf红玉髓是干什么用的(dnf红玉髓在哪里兑换)?

    dnf红玉髓是干什么用的(dnf红玉髓在哪里兑换)?在dnf中,红玉髓是一种非常有用的材料,它不仅能够兑换圣物装备,还能换取各种药剂,对于玩家来说,掌握红玉髓的用途和兑换地点至关重要。dnf红玉髓是干什么用的1.兑换圣物装备:红玉髓是制作圣...

  • 闲鱼app什么时候上线的(闲鱼app官网)?

    闲鱼app什么时候上线的(闲鱼app官网)?

    闲鱼app什么时候上线的(闲鱼app官网)?闲鱼App,原名为“闲鱼二手交易”,作为阿里巴巴集团旗下的知名二手交易平台,自上线以来,受到了广大用户的喜爱。本文将揭秘闲鱼App的上线时间,带您了解闲鱼官网的起源与发展。闲鱼app上线于2015...

  • 周排行
  • 月排行
  • 年排行

精彩推荐