中断控制---任务队列
2012-05-29 11:48:18| 分类:
Kernel
| 标签:
|举报
|字号大中小 订阅
任务队列(task queue)与中断底半部机制紧密相连的;底半部是通过软中断机制实现的,而所有的软中断都保存在系统全局数组变量softirq_vec[32]中,所以,能够登记的软中断的数量最多只有32个;因此,底半部机制也就只有有限的32个函数指针,而且大部分都已经被系统预定义使用,所以,早期的Linux内核为了扩展底半部机制,就设计了任务队列机制;
所谓的任务队列就是指以双向队列形式连接起来的任务链表,每一个链表元素都描述了一个可执行的任务;
任务队列机制实现在头文件linux/tqueue.h中;使用结构体struct tq_struct来描述一个任务,使用结构体struct task_queue来描述任务队列的头部;
任务队列是系统中的全局共享资源;
大多数的底半部函数都是通过调用run_task_queue()函数来执行某个已经定义好的任务队列;
评论这张
转发至微博
转发至微博
评论