linux中断控制
williamwang2013
写博客没别的意思,希望能对大家有点用。
展开
-
linux中断控制之tasklet
定义tasklet定义于#include 内核3.1.4先看看tasklet的结构体struct tasklet_struct{struct tasklet_struct *next; //指向链表的下一个结构unsigned long state; //任务状态atomic_t count; //计数void (*func)(uns原创 2013-01-24 11:14:30 · 658 阅读 · 0 评论 -
linux中断控制之总章
程序运行期间,遇到某些特殊情况,需要CPU暂停当前正在执行的程序,转去处理突发事件,处理完后又返回原程序被中断的位置继续运行,这种情况就是中断。中断源:引起中断的原因或发出中断请求的设备中断服务程序:要处理的突发事件程序中断的分类:1.来源 硬中断(外部中断):通过外部设备接口,向CPU的中断请求引脚INT和NMI发中断请求产生 软中断(内部中断):原创 2013-01-23 17:22:24 · 875 阅读 · 0 评论 -
linux中断控制之软中断
软中断给系统中对时间要求最严格的下半部使用,执行频率很高,连续性很高,网络和SCSI直接使用软中断。此外,内核定时器和tasklet都是建立在软中断上的。软中断由softirq_action结构表示,定义于#include 内核3.1.4struct softirq_action{void (*action)(struct softirq_action *);原创 2013-01-23 20:10:53 · 991 阅读 · 0 评论 -
linux中断控制之工作队列
工作队列是将工作推后执行的一种机制,并且可以睡眠。工作队列结构定义于#include 内核3.1.4 源码位于kernel/workqueue.c先看工作队列结构struct work_struct {atomic_long_t data;struct list_head entry;work_func_t func;#ifdef CONFIG_LOCKDEP原创 2013-01-24 14:10:33 · 2400 阅读 · 0 评论