linux源码
西瓜shine
IT技术宅
展开
-
Linux内核数据结构队列-kfifo
前言kfifo巧妙的运用了无符号变量和位运算的特点。使得代码巧妙。数据结构struct kfifo { unsigned char *buffer; /* 存放数据的buff */ unsigned int size; /* 分配到的buff的大小 */ unsigned int in; /* data写入时的偏移量 (in % size) */ unsigned int...原创 2019-07-14 17:56:57 · 599 阅读 · 0 评论 -
Linux内核数据结构—List
Linux内核中的list采用的思想是,将链表嵌入在数据结构中。而非将数据结构嵌入到链表中。(include\linux\list.h)链表嵌入在数据结构fox中: 图1 linux内核list图示数据结构fox嵌入到链表中:...原创 2019-07-16 08:50:53 · 416 阅读 · 0 评论 -
Linux内核数据结构映射-idr
映射是实现(key,value)绑定的一种数据结构。也称为关联数组。可以视为由唯一key组成的集合。每个key对应这一个value。常规的映射实现有hash表和二叉树,以及二叉树的变种。差异hash表具有相对较好的平均时间复杂度。二叉树有着更好的最坏时间复杂度。hash表通过hash函数能够映射不同类型的key。二叉树没有hash,更多用于同类key。hash表中的key经过h...原创 2019-07-21 16:55:09 · 1165 阅读 · 1 评论 -
Linux内核数据结构skb(socket buffer)
struct sk_buff_head { /* These two members must be first. */ struct sk_buff *next; // 双向链表 struct sk_buff *prev; __u32 q...原创 2019-08-04 14:34:48 · 1817 阅读 · 0 评论