Linux内核设计与实现 总结笔记(第六章)内核数据结构

内核数据结构

Linux内核实现了这些通用数据结构,而且提倡大家在开发时重用。

内核开发者应该尽可能地使用这些数据结构,而不要自作主张的山寨方法。

通用的数据结构有以下几种:链表、队列、映射和二叉树

一、链表

1.1 单向链表和双向链表

1.2 环形链表

1.3 沿链表移动

1.4 Linux内核中的实现

1.5 操作链表

1.6 遍历链表

二、队列

2.1 kfifo

2.2 创建队列

2.3 推入队列数据

2.4 摘取队列数据

2.5 获取队列长度

2.6 重置和撤销队列

2.7 队列使用举例

三、映射

3.1 初始化一个dir

3.2 分配一个新的UID

3.3 查找UID

3.4 删除UID

3.5 撤销idr

四、二叉树

4.1 二叉搜索树

4.2 自平衡二叉搜索树

五、数据结构以及选择

六、算法复杂度

6.1 算法

6.2 大o符号

6.3 大θ符号

6.4 时间复杂度

猜你喜欢

转载自www.cnblogs.com/ch122633/p/9994950.html