日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux kset subsystem 3.10内核,Kobject、Kset 和 Subsystem

發布時間:2024/9/27 linux 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux kset subsystem 3.10内核,Kobject、Kset 和 Subsystem 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2014年5月12日Kobject 、Kset 和 Subsy stem - 海王 - 博客園http://www.doczj.com/doc/93b5b6113b3567ec112d8a49.html/leav en/archiv e/2010/04/24/1719191.html 4/8件(2)4. Linux input 子系統 io 控制字段(2)

5. linux 內核定時器 tim er_list 詳解(2) (2)把kobject 的 kset 成員指向目標kset 。

(3)將kobject 傳遞給下面的函數:int kobject_add(struct kobject *kobj); /*函數可能失敗(返回一個負錯誤碼),程序應作出相應地反應*/

內核提供了一個組合函數:

extern int kobject_register(struct kobject *kobj); /*僅僅是一個

kobject_init 和 kobject_add 的結合,其他成員的初始化必須在之前手動完成*/

當把一個kobject 從kset 中刪除以清除引用時使用:

void kobject_del(struct kobject *kobj); /*是 kobject_del 和kobject_put 的結合*/

kset 在一個標準的內核鏈表中保存了它的子節點,在大部分情況下, 被包含的 kobjects 在它們的 parent 成員中保存指向 kset 內嵌的 kobject 的指

針,關系如下:

圖表中的所有的被包含的 kobjects 實際上被嵌入在一些其他類型中, 甚至可能其他的 kset 。

kset 上的操作

ksets 有類似于kobjects 初始化和設置接口:

void kset_init(struct kset *kset);

int kset_add(struct kset *kset);

int kset_register(struct kset *kset);

void kset_unregister(struct kset *kset);

/*管理 ksets 的引用計數:*/

struct kset *kset_get(struct kset *kset);

void kset_put(struct kset *kset);

/* kset 也有一個名字,存儲于嵌入的 kobject,因此設置它的名字用:*/kobject_set_nam e(&m y_set->kobj, "The nam e");

ksets 還有一個指針指向 kobj_type 結構來描述它包含的 kobject ,這個類型優先于 kobject 自身中的 ktype 。因此在典型的應用中, 在 struct

kobject 中的 ktype 成員被設為 NULL, 而 kset 中的ktype 是實際被使用的。

在新的內核里, kset 不再包含一個子系統指針struct subsystem *subsys , 而且subsystem 已經被kset 取代。

子系統

子系統是對整個內核中一些高級部分的表述。子系統通常(但不一定)出現在sysfs 分層結構中的頂層,內核子系統包括 block_subsys(/sys/block 塊設備)、 devices_subsys(/sys/devices 核心設備層)以及內核已知的用于各種總線的特定子系統。

對于新的內核已經不再有subsystem 數據結構了,用kset 代替了。每個 kset 必須屬于一個子系統,子系統成員幫助內核在分層結構中定位 kset 。 /*子系統通常用以下的宏聲明:*/

decl_subsys(nam e, struct kobj_type *type, struct

kset_uevent_ops * uevent_ops);

/*子系統的操作函數:*/

總結

以上是生活随笔為你收集整理的linux kset subsystem 3.10内核,Kobject、Kset 和 Subsystem的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。