介紹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結構 例如...