Linux内核
文章平均质量分 75
kernel_digger
kernel.digger@gmail.com
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux内核中crc16_table与crc32_table的计算
CRC: Cyclic redundancy check 循环冗余校验 具体的计算原理与方法参考:http://en.wikipedia.org/wiki/Cyclic_redundancy_check 内核中使用的crc16计算方法位于代码树/lib/crc16.c文件中 crc32的计算方法位于代码树/lib/crc32.c文件中 均采用了查表法 其中原创 2011-12-04 23:03:35 · 3630 阅读 · 0 评论 -
Linux内核代码风格摘要
第一章:缩进 制表符是8个字符 避免3级以上的缩进 在switch语句中switch与case对齐 不要把多个语句放在一行里 除了注释、文档和Kconfig之外,不要使用空格缩进 不要在行尾留空格 第二章:把长的行和字符串打散 每一行的长度限制是80列 第三章:大括号和空格的放置 起始大括号放在行尾,结束大括号放在行首(if、switch原创 2011-12-10 22:17:10 · 802 阅读 · 0 评论 -
Linux内核中mktime()函数算法分析
内核中的mktime()函数位于kernel/time.c内 该函数主要用于内核启动时,将CMOS中的 年-月-日 时:分:秒 信息转换为距离1970-01-01 00:00:00的秒数 具体定义如下: unsigned long mktime(const unsigned int year0, const unsigned int mon0, const unsi原创 2011-08-29 22:08:17 · 3442 阅读 · 2 评论 -
误用kfree()释放skb导致内存泄露
前段时间写的一个转发模块在现网应用后 几台设备出现了不同程度的内存泄露 大约4-15天设备内存耗尽 泄露速度因业务压力和网络丢包情况而不同 经历了N次的代码review和一个不眠之夜后 终于找到了原因 在一处释放skb的地方 本应该使用kfree_skb()的,鬼使神差的被我敲成了kfree() 教训很深刻 遂仔细查看了相关函数 以SLUB分配方式为例原创 2012-01-13 21:18:21 · 4909 阅读 · 0 评论 -
Linux内核学习——参考资料
本文章记录我在学习内核过程中使用的一些书籍及在网络上查阅的资源链接。因为在注释代码的过程中如果每一处都加上引用说明有点不切实际,而且很多地方我已记不清出处,所以在这里一并列出,以尊重原作者的劳动成果。 所列书籍不分先后。 书籍: Linux内核设计与实现 深入理解LINUX内核 深入Linux内核架构 深入LINUX网络技术内幕 精通Linux设备驱动程序原创 2011-07-09 21:24:22 · 1933 阅读 · 0 评论 -
Linux内核学习——中文注释计划
序幕: 试想一下这样的情景。 某天你到一座陌生的城市去旅行,买了一份城市的地图。当你进入这个城市的时候,期望着从地图上获取尽可能多的导航信息,可是你还是迷路了。因为城市在不断的建设,你手中的地图很可能已经过期了,地图上的古迹已经变成了摩天大楼;也可能地图上标的很明确,但是当你站在路口时还是不知该往哪个方向前进,因为路口没有相应的指示牌,或者路牌上使用的不是你掌握的语言。。。甚至是一些你永远也猜原创 2011-06-20 23:06:00 · 4104 阅读 · 6 评论 -
使用位与运算代替取模运算
使用构造哈希表的方法来代替简单的遍历查找 是常用的算法优化 根据关键字计算哈希值的时候 通常使用取模运算计算最终的桶下标 以防止桶的溢出 在Linux内核中也使用了大量的哈希表进行查找 起初内核中也是使用取模的方式计算桶下标 不过现在内核中在实现哈希表的时候 桶通常选择为2^n个 使用按位与(2^n - 1)的方式计算桶下标 最终的目的都是为了确定桶下标 但是内核为什么选择位原创 2012-03-14 21:26:44 · 4424 阅读 · 1 评论 -
linux时钟浅析
时钟的作用 尽管与CPU指令执行没有什么直接关系,时钟对于操作系统来说还是有着很重要的意义: 1、记录系统时间。很多应用程序需要知道日期和时间、由日期和时间构成的时间戳也会被打在文件上面、等等; 2、统计功能。如top之类的用户程序可以查看一段时间内的系统负载、以及各个进程占用CPU的时间、等等; 3、定时功能。很多用户程序会使用到定时器,比如sleep一段时间后做某件事情、比如给s转载 2012-08-21 21:44:11 · 2599 阅读 · 0 评论
分享