【Linux内核笔记】中断、中断处理程序和下半部 概念简介

中断

硬件在需要的时候向内核发出信号
硬件 -电信号-> 中断控制器输入引脚 -中断号->处理器
不考虑时钟同步
(异常考虑时钟同步,处理方式和中断相似)

中断上下文

也称原子上下文,与进程无关。不可阻塞

中断处理程序

interrupt handler、interrupt service routine, ISR 是驱动程序的一部分
Linux内核中是C函数
驱动request_irq() 注册中断处理程序,激活中断线。包含参数:isq 中断号 handler 指针,实际操作函数 flags 标志 name 设备 dev 共享中断线(该函数可能会休眠,因为调用了kmalloc()函数)
卸载驱动、注销中断处理程序、释放中断线 free_irq(irq, dev)

中断处理

分为上半部和下半部,
上半部:立即执行的任务,简洁迅速。时间敏感、硬件相关、不被其他中断打断的工作 放在中断处理程序
下半部:允许稍后执行的工作,中断处理程序不执行的工作

下半部与下半部机制

下半部:指代中断处理流程中推后处理的部分;由链表组成,不允许打断
下半部机制:所有推后执行的内核机制。软中断(性能最高, 无顺序保障)、tasklet(同类型tasklet不能同时处理)、任务队列(是进程,可休眠,无顺序保障)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值