站長資訊網
最全最豐富的資訊網站

linux模塊是什么意思

在linux中,模塊是一種能夠向linux內核添加設備驅動程序、文件系統以及其他組件的方法,是一些可以作為獨立程序來編譯的函數和數據類型的集合,可以通過靜態或動態的方法加載到內核空間。

linux模塊是什么意思

本教程操作環境:linux7.3系統、Dell G3電腦。

linux模塊是什么意思

模塊是一種能夠向Linux內核添加設備驅動程序、文件系統及其他組件的方法,它不需要重新編譯內核或者重啟系統。對于內核來講,它需要處理的就是模塊的裝載和卸載以及模塊間的依賴關系。因為模塊是在內核空間運行的,因此模塊必須使用內核提供的函數,我們也可以使用模塊來調用相應的內核函數,這屬于內核態編程的一種方式。模塊文件的本質是一種可重定位的二進制文件,一般以*.ko的形式出現。

Linux模塊可以通過靜態或動態的方法加載到內核空間,靜態加載是指在內核啟動過程中加載;動態加載是指在內核運行的過程中隨時加載。一個模塊被加載到內核中時,就成為內核代碼的一部分。模塊加載入系統時,系統修改內核中的符號表,將新加載的模塊提供的資源和符號添加到內核符號表中,以便模塊間的通信。

模塊的使用

模塊的組成

Linux內核模塊主要由以下幾個部分組成:

模塊加載函數(必須):當通過insmod命令加載內核模塊時,模塊的加載函數會自動被內核執行,完成本模塊相關初始化工作;

模塊卸載函數(必須):當通過rmmod命令卸載模塊時,模塊的卸載函數會自動被內核執行,完成與模塊加載函數相反的功能;

模塊許可證聲明(必須):模塊許可證(LICENSE)聲明描述內核模塊的許可權限,如果不聲明LICENSE,模塊被加載時將收到內核被污染的警告。

模塊參數(可選):模塊參數是模塊被加載的時候可以被傳遞給他的值,它本身對應模塊內部的全局變量;

模塊導出符號(可選):內核模塊可以導出符號(symbol,對應于函數或變量),這樣其他模塊可以使用本模塊中的變量或函數;

模塊作者等信息聲明(可選)。

一個模塊的示例:

//內核頭文件 #include<linux/module.h> #include<linux/kernel.h> #include<linux/init.h> //加載函數 static int __init init_hello_module(void){     //內核打印函數,linux系統使用dmesg命令可以查看打印信息     printk(KERN_INFO "Hello Worldn");     return 0; } //卸載函數 static void __exit exit_hello_module(void){     printk(KERN_INFO "Exit the Hello world Module!n"); } module_init(init_hello_module); module_exit(exit_hello_module); MODULE_LICENSE("GPL"); MODULE_AUTHOR("Eric"); MODULE_VERSION("v0.1"); MODULE_DESCRIPTION("TEST FOR MODULE");

模塊對應的Makefile文件:

#Makefile obj-m:=hello.o KERNELBUILD:=/lib/modules/$(shell uname -r)/build all:     make -C $(KERNELBUILD) M=$(shell pwd) modules clean:     make -C $(KERNELBUILD) M=$(shell pwd) clean

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久久精品国产亚洲成人满18免费网站| 中文字幕一区日韩在线视频| 99久久国产综合精品2020| 99re这里只有精品国产精品| 国产成人精品福利网站在线观看| 亚洲欧美日韩综合俺去了| 国产精品福利久久香蕉中文 | 国产69精品久久久久APP下载| 91精品国产高清久久久久久 | 国产精品线在线精品国语| 久久精品视频在线看99| 97精品国产手机| 91国内揄拍国内精品情侣对白| 人妻精品久久无码专区精东影业| 久久国产精品电影| 亚洲AV无码国产精品麻豆天美| 国产精品亚洲成在人线| 2022国产成人精品视频人| 中文字幕一区二区三区日韩精品| 九色精品视频在线观看| 国产精品无码素人福利| 500av导航大全精品| 亚洲七七久久精品中文国产| 乱人伦精品视频在线观看| 一本精品99久久精品77| 亚洲AV日韩精品一区二区三区| 伊人精品视频在线| 亚洲精品成a人在线观看| 亚洲精品一级无码中文字幕| 亚洲精品无码久久久| 国产成人99久久亚洲综合精品| 亚洲国模精品一区| 国产免费伦精品一区二区三区| 精品久久久久久久久久久久久久久| 国产精品乱码一区二区三区| 国产精品人人做人人爽人人添| 国产精品偷伦视频免费观看了| 久久夜色精品国产亚洲av| 国内精品久久久久久麻豆| 亚洲精品V欧洲精品V日韩精品| 国产精品人成在线播放新网站|