Linux內核鏈表深度分析

鏈表簡介:鏈表是一種經常使用的數據結構,它經過指針將一系列數據節點鏈接成一條數據鏈。相對於數組,鏈表具備更好的動態性,創建鏈表時無需預先知道數據總量,能夠隨機分配空間,能夠高效地在鏈表中的任意位置實時插入或刪除數據。鏈表的開銷主要是訪問的順序性和組織鏈的空間損失。 

Linux內核鏈表是雙向循環鏈表

建立和訪問鏈表
在linux目錄下建立mylist.c
linux

#include <linux/module.h>
#include <linux/init.h>

int mylist_init()
{
    return 0;
}

void mylist_exit()
{
    
}

module_init(mylist_init);
module_exit(mylist_exit);

再建立Makefile數組

obj-m := mylist.o
KDIR := /root/myhome/linux-2.6.32.2/
all :
        make -C $(KDIR) M=$(PWD) modules CROSS_COMPILE=arm-linux- ARCH=arm
clean:
        rm -f *.o *.ko *.order *.symvers

再編譯直接make,就產生了.ko的內核模塊文件。數據結構

這時候mylist.c文件裏面添加鏈表spa

相關文章
相關標籤/搜索