什麼是模組?
linux 的一種機制,使得編譯出的核心本身並不需要包含所有功能,而在這些功能需要被使用的時候,其對應的**可被動態地載入到核心中。
模組具有什麼特點?
模組有哪些常用命令?
linux 核心模組有哪些組成部分,有什麼作用?
如何定義模組載入函式?
static int _ _init initialization_function(void)
module_init(initialization_function);
如何載入核心模組?
request_module(module_name);或request_module("char-major-%d-%d", major(dev), minor(dev));
如何定義模組解除安裝函式?
以_ _exit標識宣告,以「module_exit(函式名)」的形式來指定。不返回任何值
static void _ _exit cleanup_function(void)
module_exit(cleanup_function);
通常來說,模組解除安裝函式要完成與模組載入函式相反的功能,模組解除安裝函式完成哪些功能?
如何定義模組引數?
module_param(引數名,引數型別,引數讀/寫許可權)」為模組定義乙個引數
static char *book_name = "深入淺出linux裝置驅動"; //字元指標引數
static int num = 4000; //指標引數
module_param(num, int, s_irugo);
module_param(book_name, charp, s_irugo);
匯出符號如何定義?
「/proc/kallsyms」檔案對應著核心符號表,它記錄了符號以及符號所在的記憶體位址。
匯出符號有什麼作用?
匯出的符號將可以被其他模組使用, 使用前宣告一下即可。
如何使用匯出符號?
#include #include module_license("dual bsd/gpl");
int add_integar(int a,int b)
int sub_integar(int a,int b)
export_symbol(add_integar);
export_symbol(sub_integar);
模組宣告與描述如何定義?
//宣告模組的作者、描述、版本、裝置表和別名
module_author(author);
module_description(description);
module_version(version_string);
module_device_table(table_info);
module_alias(alternate_name);
Linux學習筆記 4(Linux網路配置)
centos 1.centos伺服器預設網絡卡配置檔案在 etc sysconfig network scripts 下 命名的名稱一般為 ifcfg eth0 ifcfg eth1 eth0 表示第一塊網絡卡,eth1 表示第二塊網絡卡,依次類推。一般 dell r720 標配有 4 塊千兆網絡卡...
Linux學習筆記(4)Linux目錄配置
目錄配置的依據是fhs標準。目錄的四個型別 1.可分享 可分享給其他系統掛載使用的目錄。2.不可分享 自己機器上執行的裝置檔案。3.不變 部分不會經常變動的資料。4.可變動 經常修改的資料,日誌檔案等。fhs要求必要存在的目錄 bin單人維護模式下還可以使用的指令 lib啟動時需要使用的函式庫 bo...
4 linux程式設計入門 時間概念
前言 linux下的時間概念 這一章我們學習linux的時間表示和計算函式 時間的表示 時間的測量 計時器的使用 1 時間表示 在程式當中,我們經常要輸出系統當前的時間,比如我們使用date命令的輸出結果.這個時候我們可以使用下面兩個函式 cpp view plain copy include ti...