首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >linux中的中断处理

linux中的中断处理
EN

Stack Overflow用户
提问于 2013-12-29 05:24:11
回答 2查看 98关注 0票数 0

你能给我解释一下interrupts在linux中是如何处理的吗?我使用的是gentoo 12。据我所知,HW IRQ只是从特定硬件到处理器本身的电信号。我不明白,处理器是如何区分来自不同硬件的中断的?

让我们安装一个新的硬件。显然,它不知道从这个硬件到一个过程会产生什么特定的电脉冲。因此,不清楚处理器如何为该中断更改特定中断处理程序。

EN

回答 2

Stack Overflow用户

发布于 2013-12-29 05:35:24

中断由linux内核处理。总线中断通常会共享相同的HW IRQ,但内核将能够根据它们的数据对它们进行排序,并将它们传递给特定的设备驱动程序。

票数 1
EN

Stack Overflow用户

发布于 2013-12-29 05:39:49

依赖于硬件。例如,PCI设备提供了一种标准方式来查询每个设备它是什么,它想要使用什么中断,然后可以为它安装适当的驱动程序/中断处理程序。

硬件和操作系统必须遵循ACPI等接口来通信和配置硬件,USB设备提供的发现服务必须在连接新设备时完成,等等。

因此,是的,操作系统非常了解您何时连接设备,以及在可能的情况下如何处理它。

一些硬件平台可能不提供这样的方法,在这种情况下,受支持的硬件必须硬编码到操作系统中(或者更常见地从配置文件中读取),在这种情况下,您确实不能简单地将一个新硬件附加到它上,并期望它只是即插即用(例如,在许多嵌入式平台上使用的device tree )

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20819533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档