剖析Linux源码<内核活动>

硬件中断(hardware interrupt):由系统自身和与之连接外设自动产生.

软中断(softIRQ):用于有效实现内核中的延期操作.

一.中断类型

1.同步中断和异常:

2.异步中断(外部设备锁产生).

二.硬件IRQ

表示由CPU和外部硬件发出的中断,中断不能由处理器的外设直接产生,而必须借助一个称为中断控制器的标准组建来请求,该组件存在于每个系统中.

三.处理中断

在CPU得知发生中断之后,它将进一步的处理委托给一个软件例程,该例程可能会修复故障,提供专门的处理或外部事件通知用户进程.由于每个中断和异常,都有一个唯一的编号,内核使用一个数组,数组项是指向处理程序函数的指针.

相关的中断呈根据数组项在数组中的位置判断.

1.进入和退出任务:

中断处理分3个部分:必须建议以恶适当的环境,使得处理程序函数能够在其中执行,接下来调用处理程序自身,最后将系统复原到中断之前的状态.调用中断处理程序前后两个部分,又称为进入路径和退出路径.

 

退出路径(内核检查事项)

调度器是否应该选择一个新进程代替旧进程;是否有信号必须投递到原进程.

数据结构:

中断技术在实现有两个方面:汇编语言代码和与处理器调度相关,用于处理了特定平台上相关的底层细节.抽象接口是设备驱动程序及其内核代码安装和管理IRQ处理程序所需要的.

为响应外部设备的IRQ,内核必须为每个潜在的IRQ提供一个函数,该函数必须能够动态注册和注销,IRQ信息管理关键核心点在一个全局数组,每个数组项对应一个IRQ编号.因为数组位置和终端号是相同的.

 

irq_chip

i8259a

GIC

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九月天-深圳专业软硬件开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值