# 内核中的数据结构

想要理解软件，编写出优美高效的代码离不开对数据结构的理解。虽然内核中基本沿用了通用的数据结构，但是有些要么增加了自己的使用方法，要么会为了符合内核需求提出自己的实现。

在这一章节，本人打算总结一下代码中遇到过的那些有意思的数据结构们。

[Per CPU变量](https://richardweiyang-2.gitbook.io/kernel-exploring/00-index-3/static_pcpu)

[双链表](https://richardweiyang-2.gitbook.io/kernel-exploring/00-index-3/01-list)

[优先级队列](https://richardweiyang-2.gitbook.io/kernel-exploring/00-index-3/03-plist)

[哈希表](https://richardweiyang-2.gitbook.io/kernel-exploring/00-index-3/02-hlist)

[Xarray](https://richardweiyang-2.gitbook.io/kernel-exploring/00-index-3/04-xarray)

[B树](https://richardweiyang-2.gitbook.io/kernel-exploring/00-index-3/05-btree)

[Maple Tree](https://richardweiyang-2.gitbook.io/kernel-exploring/00-index-3/06-maple_tree)

[Interval Tree](https://richardweiyang-2.gitbook.io/kernel-exploring/00-index-3/07-interval_tree)
