linux内核中断和定时器

中断(IRQ)和计时器(timer)
----------------------------


中断(IRQ)和计时器(timer)是不是内核的标准工作组件呢?当然是的。为什么不将其
和内核的其他组件放在一起来讨论呢?因为我觉得中断和计时器比起其他的组件更特殊。

首先,这两者都是比较偏向于内核的底层,更直接的与硬件接触,也就是说他们更依赖于
CPU,比如CPU周围通过总线交互的一些外设(键盘,鼠标...)都是通过硬中断实现的。
其次,内核的其他组件基本上都要依赖于这两个组件,比如像进程管理,驱动程序开发等
等这样的内核组件都依赖这两个组件。


中断(IRQ)
-----------


两种类型的中断:硬件中断和软中断。

硬件中断(hardware interrupt):由系统自身和与之连接的外设自动产生。他们用于支
持更高效地实现设备驱动程序,也用于引起处理器自身对异常或错误的关注,这些是需要
与内核代码进行交互的。
与内核的其他部分相比,用于处理中断和系统调用相关部分的代码中,汇编和C代码交织
在一起,以解决C语言无法独立处理的一些微妙问题。在内核的中断部分中,高层代码和
底层的硬件交互代码,已经尽可能有效而干净地分隔开了。

软中断(SoftIRQ):用于有效实现内核中的延期操作。
内核中经常需要一些机制,将某些活动延迟到未来的某个时间执行,或将活动置于某个队
列(tasklet)上,在时间充裕时进行后续处理。


在linux中有一个用于中断和IRQ的通用框架,linux所支持的各种平台只负责在最低层次
上与硬件交互。所有其他功能都由通用代码提供。

硬件中断不能由处理器外部的外设直接产生,而必须借助于一个称为中断控制器的标准组
件来请求。中断外部设备会有电路连接到用于中断控制器发送中断请求的组件。中断控制
器就是一个控制电路,好了,这里涉及了电路设计的问题,不打算深入电路设计的内部,
如果你有兴趣的话,可以看看关于通用计算机体系设计,如CP
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值