社区
CPU和硬件区
帖子详情
cli期间产生的中断会丢失吗
qq_37488197
2017-02-09 02:01:43
在关中断期间(cli),外设产生的中断,会丢失吗,如果丢失了能否找回?linux是怎么处理的。
只考虑cpu EFLAGS中断允许位置0的情况,不讨论pic中断屏蔽。
...全文
1005
回复
打赏
收藏
cli期间产生的中断会丢失吗
在关中断期间(cli),外设产生的中断,会丢失吗,如果丢失了能否找回?linux是怎么处理的。 只考虑cpu EFLAGS中断允许位置0的情况,不讨论pic中断屏蔽。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
深入理解 Linux 内核---
中断
和异常
中断
或异常
会
改变处理器执行的指令顺序。 异常: 来源:CPU 控制单元, 时机:只有在一条指令终止执行后 CPU 才
会
发出
中断
。 原因:程序
产生
错误,或内核必须处理的异常条件。
中断
: 来源:间隔定时器或 I/O 设备。 时机:随机
产生
。 原因:依照 CPU 时钟信号。
中断
信号的作用 为什么要引入
中断
信号?因为
中断
信可使得处理器转而去运行正常控制流之外的代码。 当
中断
信号到来时,CPU ...
linux内核-
中断
的响应和服务
搞清了i386 CPU的
中断
机制和内核中有关的初始化以后,我们就可以从
中断
请求的发生到CPU的响应,再到
中断
服务程序的调用与返回,沿着CPU所经历的路线走一遍。这样,既可以弄清和理解linux内核对
中断
响应和服务的总体的格局和安排,还可以顺着这个过程介绍内核中的一些相关的基础设施。对此二者的了解和理解,有助于读者对整个内核的理解。 这里,我们假定外设的驱动程序都已经完成了初始化,并且把相应的
中断
服务程序挂入到特定的
中断
请求队列中,系统正在用户空间正常运行(所以
中断
必然是开着的),并且某个外设已经
产生
了一次
初识
中断
和异常
中断
(interrupt)通常被定义为一个事件,该事件改变处理器执行的指令顺序。这样的事件与CPU芯片内外部硬件电路
产生
的电信号相对应。在Intel微处理器手册中,把同步和异步
中断
分别称为(exception)和我们也采用这种分类,当然有时我们也用术语“
中断
信号”指这两种类型(同步及异步)。,例如,用户的一次按键
会
引起一个
中断
。另一方面,,或者是由内核必须处理的异常条件
产生
的。第一种情况下,内核通过发送一个每个Unix程序员都熟悉的信号来处理异常。
一文完全读懂 | Linux
中断
处理
从物理学的角度看,
中断
是一种电信号,由硬件设备
产生
,并直接送入
中断
控制器(如 8259A)的输入引脚上,然后再由
中断
控制器向处理器发送相应的信号。这样,OS 就可以对这个
中断
进行适当的处理。早期没有
中断
机制的计算机就不得不通过轮询来查询外部设备的状态,由于轮询是试探查询的(也就是说设备不一定是就绪状态),所以往往要做很多无用的查询,从而导致效率非常低下。INTR是可屏蔽
中断
,可以通过设置
中断
屏蔽位来进行
中断
屏蔽,它主要用于接受外部硬件的
中断
信号,这些信号由
中断
控制器传递给 CPU。
Linux
中断
(IRQ/softirq)基础:原理及内核实现(2022)
CPU 通过时分复用来处理很多任务,这其中包括一些硬件任务,例如磁盘读写、键盘输入,也包括一些软件任务,例如网络包处理。在任意时刻,一个 CPU 只能处理一个任务。当某个硬件或软件任务此刻没有执行,但它希望 CPU 来立即处理时,就
会
给 CPU 发送一个
中断
请求——希望 CPU 停下手头的工作,优先服务“我”。
中断
是以事件的方式通知 CPU 的,因此我们常看到 “XX 条件下
会
触发 XX
中断
事件” 的表述。两种类型:外部或硬件
产生
的
中断
,例如键盘按键。软件
产生
的
中断
,异常事件
产生
的
中断
,例如除以零。
CPU和硬件区
1,025
社区成员
562
社区内容
发帖
与我相关
我的任务
CPU和硬件区
Linux /Unix kernel支持不同的硬件体系,X86, ARM, MIPS, 等等
复制链接
扫一扫
分享
社区描述
Linux /Unix kernel支持不同的硬件体系,X86, ARM, MIPS, 等等
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章