歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux內核 >> Linux內核模塊學習

Linux內核模塊學習

日期:2017/3/1 9:49:30   编辑:Linux內核

模塊是具有獨立功能的程序,它能被單獨編譯,但不能獨立運行。它可以在系統運行時動態的被鏈接到內核中作為內核的一部分在內核空間運行,所以內核模塊提高了內核的可擴展性。

查看當前系統中已經加載了哪些模塊的方法是:
1. 使用lsmod命令進行查看,
sh-3.2# lsmod

2. 直接查看/proc文件系統中的信息,
sh-3.2# cat /proc/modules

以上兩種方法其實是一樣的,都是查看當前系統中的模塊加載狀況。
二者區別在於lsmod命令的結果是經過格式化之後的信息。

刪除一個已經安裝的模塊的方法是:
1. 直接使用rmmod命令並指定模塊名,
sh-3.2# rmmod module

2. 使用modprobe命令指定-r選項來刪除一個模塊,
sh-3.2# modprobe -r module

安裝一個模塊的方法是:
1. 直接使用insmod命令並制定模塊的路徑,
sh-3.2# insmod /.../.../module

2. 使用modprobe命令可以選擇安裝指定的模塊或所有的模塊。

使用modprobe命令加載或卸載模塊的好處在於:
modprobe會根據模塊之間的依賴關系來決定如何載入或卸載模塊。
而模塊之間的依賴關系是如何創建呢?
執行depmod命令就會產生一個模塊依賴關系的文件:
/lib/module/2.6.xx/modules.dep

模塊,簡單講就是.ko文件,通常都是驅動程序開發時才會使用。
linux系統提供了模塊功能大大的提高了驅動開發的效率。
那使用gcc如何才能編譯一個模塊文件?
據說使用如下的編譯選項就可以:
-I /usr/src/linux/include
暫時沒有此需求,待有空時可以再試試看。

Linux Kernel 的詳細介紹:請點這裡
Linux Kernel 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved