Linux核心開發之Kset

2021-08-21 07:59:16 字數 962 閱讀 3917

1、

kset

是具有相同型別的kobject的集合

,在sysfs

中體現成乙個目錄,在核心中用

kset

資料結構表示,定義為:

struct

kset

2、kset操作

int 

kset_register

(struct

kset

*kset

)在核心中註冊乙個

kset

void 

kset_unregister

(struct

kset

*kset

)從核心中登出乙個

kset

3、熱插拔事件

在linux

系統中,當系統配置發生變化時,如

:新增kset

到系統;移動

kobject

, 乙個通知會

從核心空間傳送到使用者空間

,這就是熱插拔事

件。熱插拔事件會導致使用者空間中相應的處

理程式(

如udev,mdev

)被呼叫

, 這些處理程式

會通重載入驅動程式

, 建立裝置節點等來響應

熱插拔事件。

struct

kset_uevent_ops

當該kset

所管理的

kobject

和kset

狀態發生

變化時(如被加入,移動),這三個函式

將被呼叫。

filter

:決定是否將事件傳遞到使用者空間。如果

filter

返回 0,

將不傳遞事件。

name

:用於將字串傳遞給使用者空間的熱插拔處理程

序。uevent

:將使用者空間需要的引數新增到環境變數中。

linux裝置驅動模型之 kset原理與例項分析

1 kset kset是具有相同型別的kobject的集合,在sysfs中體現成乙個目錄,在核心中用kset資料結構表示,定義為 2 kset操作 1 int kset register struct kset kset 在核心中註冊乙個kset 2 void kset unregister str...

linux驅動開發之核心樹配置

在看的時候,作者其中提到setting up your test system。他只是指出為2.6.x編寫模組,首先,要求你在linux系統上構建和配置核心樹,對於2.6版本的核心來說,已有的標頭檔案已經足夠了,但是2.6的模組鏈結著核心原始碼樹中的物件檔案。這樣模組載入器將更健壯,但是也要求這些物...

Linux核心開發 核心模組引數

目錄 使用引數載入模組 module param巨集 讀取和更改引數值 驗證引數值 宣告模組引數陣列 有關模組引數的一些說明 在本文中,我們將向模組新增引數。使用引數,您可以在載入模組時訪問模組全域性變數,並在執行時已載入模組時訪問模組全域性變數。使用insmod命令載入模組時,可以提供引數作為ke...