linux之sysfs檔案系統

2021-06-18 23:57:10 字數 680 閱讀 4065

介紹sysfs 檔案系統 :

linux 2.6 核心中引入了 sysfs 檔案系統,是使用者空間與核心空間進行互動的乙個媒介。

比起古老的 proc 檔案系統,它是基於

核心的資料結構

,因此組織結構上更加嚴密。

它的設計使核心的資訊更易獲取,而且更加清晰。核心空間與使用者空間的對映關係如下表所示:

核心空間(internel) ——->使用者空間(externel)

核心物件(kernel objects) ——->目錄(directories)

物件屬性(object attributes) ——->普通檔案(regular files)

物件關係(object relationshiops) ——->符號鏈結(symbolic links)

先使用kobject_create_and_add() 建立目錄

再透過sysfs_create_group(example_kobj, &attr_group) 建立目錄下的屬性檔案組, 其中 attr_group 是我們自己定義的屬性相關檔案,

static int __init example_init(void)

通過它,我們描述了目錄裡具有的屬性檔案,以及各檔案的 show 和 store 函式。

對於本例來說,可用乙個屬性陣列 attrs 描述這一屬性組 attr_group。

sysfs檔案系統

sysfs是用來向使用者空間匯出核心物件的一種檔案系統,通過它,使用者空間程式可以檢視 甚至修改核心資料結構。該檔案系統是基於核心資料結構kobject建立起來的,同時該檔案系統的目錄結構反映了相關核心資料結構的層次結構。由於kobject是組成裝置模型的基本結構,因此sysfs也包括了系統中裝置的...

sysfs檔案系統

sysfs是乙個基於記憶體的檔案系統,它的作用是將核心資訊以檔案的方式提供給使用者程式使用。該檔案系統的目錄層次結構嚴格按照核心的資料結構組織。除了二進位制檔案外 只有特殊場合才使用 sysfs檔案內容均以ascii格式儲存,且乙個檔案只儲存乙個資料,另外,乙個檔案不可大於乙個記憶體頁 通常為409...

USB和sysfs檔案系統

由於單個usb物理裝置的複雜性,裝置在sysfs中的表示也非常複雜。無論是物理usb裝置 用struct usb device 表示 還是單獨的usb介面 用struct usb inte ce 表示 在sysfs中均表示為單獨的裝置 這是因為這2個結構都包含乙個struct device結構 例如...