开发者

What Data Structures are available in the Linux Kernel [closed]

开发者 https://www.devze.com 2022-12-11 16:47 出处:网络
Closed. This question needs to be more focused. It is not currently accepting answers. Want to improve this question? Update the question so it focuses on one problem only by editing this
Closed. This question needs to be more focused. It is not currently accepting answers.

Want to improve this question? Update the question so it focuses on one problem only by editing this post.

Closed 6 years ago.

开发者_运维技巧 Improve this question

Is there a list somewhere of all the major generic data structures used in the Linux Kernel and as a side bonus major places they're used?

What I mean by "generic data structures" is things like doubly linked lists, hash lists, timer wheels, etc.

Also, which ones are considered part of the internally provided api available to modules?

Edit

In the linux/lib directory I see some promising leads...

bitmap.c
plist.c
prio_heap.c
prio_tree.c
radix-tree.c
rbtree.c


From what I remember the linux kernel comes with implementations of Radix Tree and Red-Black Tree.


A relevant LWN article: Linux kernel design patterns - part 2


So, the best way to find out about kernel data structures is via the header files normally found at /usr/include. A thorough examination of these can be found in in this free on-line resource as well as many other sources:

Kernel Architecture

Two excellent books are:

Linux Kernel Architecture

Understanding the Linux Kernel

0

精彩评论

暂无评论...
验证码 换一张
取 消