
linux内核实践
文章平均质量分 80
bullbat
爱好程序设计,对待问题喜欢追根溯源。
展开
-
Linux内核实践之序列文件
作者:bullbat seq_file机制提供了标准的例程,使得顺序文件的处理好不费力。小的文件系统中的文件,通常用户层是从头到尾读取的,其内容可能是遍历一些数据项创建的。Seq_file机制容许用最小代价实现此类文件,无论名称如何,但顺序文件是可以进行定为操作的,但其实现不怎么高效。顺序访问,即逐个访问读取数据项,显然是首选的访问模式。某个方面具有优势,通常会在原创 2012-03-29 15:29:00 · 4441 阅读 · 0 评论 -
Linux内核实践之工作队列
工作队列(work queue)是另外一种将工作推后执行的形式,它和tasklet有所不同。工作队列可以把工作推后,交由一个内核线程去执行,也就是说,这个下半部分可以在进程上下文中执行。这样,通过工作队列执行的代码能占尽进程上下文的所有优势。最重要的就是工作队列允许被重新调度甚至是睡眠。 那么,什么情况下使用工作队列,什么情况下使用tasklet。如果推后执行的任务需原创 2012-03-30 11:25:53 · 7581 阅读 · 0 评论 -
Linux内核实践之tasklet机制
作者:bullbat 源代码分析与原理部分参见前面的文章linux中断延迟之tasklet,这里我们看看他的使用,和前面介绍的工作队列、等待队列等相同,声明采用两种方法,我们在init函数中直接采用tasklet_schedule(&my_tasklet);调度,内核中的实现很简单:void __tasklet_schedule(struct tasklet_struct原创 2012-04-03 12:49:21 · 2316 阅读 · 1 评论