把握linux内核设计思想(一):系统调用
把握linux内核设计思想(二):硬中断及中断处理
把握linux内核设计思想(三):下半部机制之软中断
把握linux内核设计思想(四):下半部机制之tasklet
把握linux内核设计思想(五):下半部机制之工作队列及几种机制的选择
把握linux内核设计思想(六):内核时钟中断
把握linux内核设计思想(七):内核定时器和定时执...
分类:
系统相关 时间:
2015-08-17 23:39:05
阅读次数:
179
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】
tasklet是利用软中断实现的一种下半部机制。tasklet相比于软中断,其接口更加简单方便,锁保护要求较低。
tasklet由tasklet_struct结构体表示:
struct tasklet_struct
{
struct ta...
分类:
系统相关 时间:
2015-07-29 01:04:08
阅读次数:
134
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】
工作队列是下半部的另外一种将工作推后执行形式。和软中断、tasklet不同,工作队列将工作推后交由一个内核线程去执行,并且该下半部总会在进程上下文中执行。这样,工作队列允许重新调度甚至是睡眠。
所以,如果推后执行的任务需要睡眠,就选择工作队列...
分类:
系统相关 时间:
2015-07-29 01:03:29
阅读次数:
127
学习本文可以对linux中断有全面而深刻的认识。本文对Linux中断所涉及的需求、管理机制、中断实现、中断接口(上半部和下半部)、驱动使用进行完全分析。...
分类:
系统相关 时间:
2015-07-13 16:11:11
阅读次数:
285
1、定时器
之前说过两类跟时间相关的内核结构。
1、延时:通过忙等待或者睡眠机制实现延时。
2、tasklet和工作队列,通过某种机制使工作推后执行,但不知道执行的具体时间。
接下来要介绍的定时器,能够使工作在指定的时间点上执行,而且不需要使用忙等待这类的延时方法。通过定义一个定时器,告之内核在哪个时间需要执行什么函数就可以了,等时间一到,内核会就执行指定的函数。...
分类:
系统相关 时间:
2015-06-03 19:40:30
阅读次数:
167
在内核中的中断机制中,为了防止解决中断嵌套(防止一个中断打断另一个中断)的问题,引进小任务机制: 使用小任务机制需要三步: 第一:定义一个struct tasklet_struct的类; 第二步:初始化taskelet将处理任务的函数和takslet任务...
分类:
系统相关 时间:
2015-05-26 21:12:57
阅读次数:
137
软中断概念在嵌入式开发可以有两个不同的解释:
其一,软中断在处理器设计中是处理器异常之一,程序软件使用指定指令(如arm的SWI指令)引发该异常从而陷入内核态执行,最典型的软件应用就是系统调用。
其二,在kernel代码中实现了一套软中断机制,区别于硬件中断的硬件触发软件处理,而是软件触发软件处理。...
分类:
系统相关 时间:
2015-04-07 17:36:10
阅读次数:
299
tasklet(小任务): tasklet在很多方面类似内核定时器:他们始终在中断期间运行,始终会在调度他们的同一CPU上运行,而且都接收一个unsigned
long参数。不同的是,不能要求tasklet在某个给定的时间执行,调度一个tasklet,表明我们只是希望内核选择某个其后的时间来执行给定的函..
分类:
其他好文 时间:
2015-03-16 06:27:49
阅读次数:
412
一. error与非法地址: | 二. jiffies接口: | 三. timer接口: | 四. kthread接口: | 五. workqueue接口: | 六. tasklet接口: |
分类:
其他好文 时间:
2015-03-13 22:15:23
阅读次数:
235
Tasklet机制是一种较为特殊的软中断。Tasklet一词的原意是“小片任务”的意思,这里是指一小段可执行的代码,且通常以函数的形式出现。软中断向量HI_SOFTIRQ和TASKLET_SOFTIRQ均是用tasklet机制来实现的。 从某种程度上讲,tasklet机制是Linux内核对BH机制的一种扩展。在2.4内核引入了softirq机制后,原有的BH机制正是通过tasklet机制...
分类:
系统相关 时间:
2015-03-13 09:24:41
阅读次数:
240