内核中断理论

中断:软件获取硬件的改变
    1.轮训     软件不断地询问寄存器,来获知硬件的状态(效率极低)。
    2.中断     硬件主动通知cpu 状态改变(效率很高,实时性很强)。


中断硬件的原理:

 

内核中断架构

 

在设备树里添加需要的硬件(按键中断):linux-3.14/arch/arm/boot/dts/exynos4412-fs4412.dts

 

       因为中断程序要求快进快出,但是有时候 intr 任务很耗时,这时候就需要用到 intrrupt half(中断下半部分),中断只处理核心的任务,把大部分任务都交给中断下半部分。它是一种软件实现的机制, 用来处理中断剩下的任务。内核保证 intr half执行是先于进程的。

       当硬件送来大量数据,产生中断去处理,,中断函数发现任务很耗时,中断只处理紧急不耗时的部分,剩下的让intr half去完成。

 

 intr half 有三种实现方法:1. 软中断:专供内核开发者使用的;2.tasklet: 给驱动开发者使用的,task 任务、let-小工具、实现任务的小工具。定义并初始化 一个tasklet对象 [数据:私有数据   方法:完成中断交付的任务],中断让他去干活,tasklet就去替中断完成任务; 3.工作队列 workqueue:定义并初始化 一个 workqueue 对象 [数据:私有数据   方法:完成中断交付的任务],中断让他去干活,workqueue 就去替中断完成任务。

面试中问题:请问中断如何将任务推迟?
答:intr half(中断下半部分)

请问有哪些实现方法?
答:1.软中断  2.tasklet  3.workqueue 
请问他们有什么区别?

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值