Kernel
文章平均质量分 82
btoh_workstation
这个作者很懒,什么都没留下…
展开
-
Linux 2.6 menuconfig内核编译配置选项详解
Code maturity level options代码成熟度选项Prompt for development and/or incomplete code/drivers 显示尚在开发中或尚未完成的代码与驱动.除非你是测试人员或者开发者,否则请勿选择 General setup常规设置Local version - append to kernel re转载 2014-05-11 17:07:06 · 1005 阅读 · 0 评论 -
巧夺天工的kfifo
Linux kernel里面从来就不缺少简洁,优雅和高效的代码,只是我们缺少发现和品味的眼光。在Linux kernel里面,简洁并不表示代码使用神出鬼没的超然技巧,相反,它使用的不过是大家非常熟悉的基础数据结构,但是kernel开发者能从基础的数据结构中,提炼出优美的特性。kfifo就是这样的一类优美代码,它十分简洁,绝无多余的一行代码,却非常高效。关于kfifo信息如下:本文分析的原代转载 2014-06-10 15:27:06 · 454 阅读 · 0 评论 -
Linux中kfifo数据结构的精妙之处:即使溢出仍然正确
kfifo是linux内核中的环形缓冲区,实现了先进先出的队列数据结构。以下为kfifo的数据结构定义(内核版本2.6.33.20):[cpp] view plaincopystruct kfifo { unsigned char *buffer; // 环形缓冲区的大小 unsigned int size; // 环形缓转载 2014-06-10 15:35:19 · 765 阅读 · 0 评论 -
Linux 内核list_head 学习(一)
在Linux内核中,提供了一个用来创建双向循环链表的结构 list_head。虽然linux内核是用C语言写的,但是list_head的引入,使得内核数据结构也可以拥有面向对象的特性,通过使用操作list_head 的通用接口很容易实现代码的重用,有点类似于C++的继承机制(希望有机会写篇文章研究一下C语言的面向对象机制)。下面就是kernel中的list_head结构定义:struct li转载 2014-05-26 19:02:01 · 3439 阅读 · 0 评论 -
kzalloc 函数详解
用kzalloc申请内存的时候, 效果等同于先是用 kmalloc() 申请空间 , 然后用 memset() 来初始化 ,所有申请的元素都被初始化为 0.[csharp] view plaincopy/** * kzalloc - allocate memory. The memory is set to zero. * @size: how many byt转载 2014-08-19 20:31:52 · 647 阅读 · 0 评论