> For the complete documentation index, see [llms.txt](https://richardweiyang-2.gitbook.io/kernel-exploring/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://richardweiyang-2.gitbook.io/kernel-exploring/00-index-3.md).

# 内核中的数据结构

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

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

[Per CPU变量](/kernel-exploring/00-index-3/static_pcpu.md)

[双链表](/kernel-exploring/00-index-3/01-list.md)

[优先级队列](/kernel-exploring/00-index-3/03-plist.md)

[哈希表](/kernel-exploring/00-index-3/02-hlist.md)

[Xarray](/kernel-exploring/00-index-3/04-xarray.md)

[B树](/kernel-exploring/00-index-3/05-btree.md)

[Maple Tree](/kernel-exploring/00-index-3/06-maple_tree.md)

[Interval Tree](/kernel-exploring/00-index-3/07-interval_tree.md)

[Static Key](/kernel-exploring/00-index-3/09-static_key.md)

[list\_lru](/kernel-exploring/00-index-3/10-list_lru.md)
