中断

一、与“异常”的关系

中断是由硬件引起;

异常:如÷零,缺页等,需要内核来处理时,处理器会产生一个异常。为处理器本身产生的同步中断;


二、中断与BH

中断处理程序是上半部 top half。

bottom half目前有几种:软中断,tasklet,工作队列。


三、request_irq注册的软件中断号的中断处理;

而通过irq_create_mapping来维护硬件中断号和软件中断号的对应关系。

软件中断号可以动态分配,其实就是找到一个空的。

对应关系最后存于

struct irq_map_entry {
    irq_hw_number_t    hwirq;
    struct irq_host    *host;
};
extern struct irq_map_entry irq_map[NR_IRQS];


四、

中断上下文和进程没有什么瓜葛,与current宏更是不相干。

中断不能休眠;

中断不具有自己的栈,共用内核的。内核栈大小是2页。


五、

in_interrupt 检查是否处于中断和下半区

in_irq



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值