sys文件系統中文件、文件夾與kobject、kset、kobj_type的對應關係

網上對sys文件系統與kobject的文章很多,但對初學者的我越看越亂。幾經輾轉總結出如下結論,如有誤懇請討論指出,直接給出:
1,kobject,kset對應sysfs裏面的文件夾,目錄的名字就是結構體中的 name
2,kobj_type對應sysfs裏面的文件,這些文件是kobject的屬性的外在表現
3,kobject是linux設備樹的核心結構體,整個設備樹都是圍繞kobject建立起來的,維繫這種樹關係的是kobject結構體裏面的parent指針。parent指針指向本節點的父節點,賦值爲null時該節點直接出現在/sys/根目錄下。
4,kset結構體中包含一個kobject結構體,在分析sysfs中目錄與kobject的對應關係時,可認爲kobject與kset等同。
5,kset比kobject多一個list雙向鏈表,可以按設備類型關係將其下的節點加入鏈表。但這種關係在sysfs中的目錄結構中不顯現。
6,kobject中包含一個kobj_tpye指針,kobj_type中的default_attrs即爲是該kobject的各項屬性。屬性必須存在於kobject之下,不能直接出現在/sys根目錄。


kobject,kset,kobj_tpye的定義在kernel\include\linux\kobject.h
struct kobject {
	const char		*name;
	struct list_head	entry;
	struct kobject		*parent
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章