這個目錄其實跟/proc非常類似,也是乙個虛擬的檔案系統,主要也是記錄不核心
相關的資訊。 包括目前已載入的核心模組不核心偵測到的硬體裝置資訊等等。這個目錄同樣丌佔硬碟容量。
表 1. /sys 下的目錄結構
/sys 下的子目錄
所包含的內容
/sys/devices
這是核心對系統中所有裝置的分層次表達模型,也是 /sys 檔案系統管理裝置的最重要的目錄結構,下文會對它的內部結構作進一步分析;
/sys/dev
這個目錄下維護乙個按字元裝置和塊裝置的主次號碼(major:minor)鏈結到真實的裝置(/sys/devices下)的符號鏈結檔案,它是在核心 2.6.26 首次引入;
/sys/bus
這是核心裝置按匯流排型別分層放置的目錄結構, devices 中的所有裝置都是連線於某種匯流排之下,在這裡的每一種具體匯流排之下可以找到每乙個具體裝置的符號鏈結,它也是構成 linux 統一裝置模型的一部分;
/sys/class
這是按照裝置功能分類的裝置模型,如系統所有輸入裝置都會出現在 /sys/class/input 之下,而不論它們是以何種匯流排連線到系統。它也是構成 linux 統一裝置模型的一部分;
/sys/block
這裡是系統中當前所有的塊裝置所在,按照功能來說放置在 /sys/class 之下會更合適,但只是由於歷史遺留因素而一直存在於 /sys/block, 但從 2.6.22 開始就已標記為過時,只有在開啟了 config_sysfs_deprecated 配置下編譯才會有這個目錄的存在,並且在 2.6.26 核心中已正式移到 /sys/class/block, 舊的介面 /sys/block 為了向後相容保留存在,但其中的內容已經變為指向它們在 /sys/devices/ 中真實裝置的符號鏈結檔案;
/sys/firmware
這裡是系統載入韌體機制的對使用者空間的介面,關於韌體有專用於韌體載入的一套api,在附錄 ldd3 一書中有關於核心支援韌體載入機制的更詳細的介紹;
/sys/fs
這裡按照設計是用於描述系統中所有檔案系統,包括檔案系統本身和按檔案系統分類存放的已掛載點,但目前只有 fuse,gfs2 等少數檔案系統支援 sysfs 介面,一些傳統的虛擬檔案系統(vfs)層次控制引數仍然在 sysctl (/proc/sys/fs) 介面中中;
/sys/kernel
這裡是核心所有可調整引數的位置,目前只有 uevent_helper, kexec_loaded, mm, 和新式的 slab 分配器等幾項較新的設計在使用它,其它核心可調整引數仍然位於 sysctl (/proc/sys/kernel) 介面中 ;
/sys/module
這裡有系統中所有模組的資訊,不論這些模組是以內聯(inlined)方式編譯到核心映像檔案(vmlinuz)中還是編譯為外部模組(ko檔案),都可能會出現在/sys/module
中:
沒有非0屬性引數的內聯模組不會出現於此。
/sys/power
這裡是系統中電源選項,這個目錄下有幾個屬性檔案可以用於控制整個機器的電源狀態,如可以向其中寫入控制命令讓機器關機、重啟等。
/sys/slab (對應 2.6.23 核心,在 2.6.24 以後移至 /sys/kernel/slab)
從2.6.23 開始可以選擇 slab 記憶體分配器的實現,並且新的 slub(unqueued slab allocator)被設定為預設值;如果編譯了此選項,在 /sys 下就會出現 /sys/slab ,裡面有每乙個 kmem_cache 結構體的可調整引數。對應於舊的 slab 記憶體分配器下的 /proc/slabinfo 動態調整介面,新式的 /sys/kernel/slab/介面中的各項資訊和可調整項顯得更為清晰。
系統的目錄結構 檔案系統
linux檔案儲存時,都是以根目錄 開始的 可執行程式或命令 boot 核心與系統啟動有關的檔案 home 所有普通使用者的家目錄 etc 系統配置檔案 lib 庫檔案 proc 虛擬目錄,程序在記憶體中的映像 usr 系統執行過程中不常改變的檔案 var 系統執行過程中常改變的檔案 root 管理...
efi的sys檔案系統介面
在driver firmware efi efi.c 中通過subsys initcall efisubsys init 來初始化efisubsys static int init efisubsys init void error generic ops register if error got...
Linux 檔案系統目錄結構
linux 檔案系統目錄結構 1.bin 包含基本命令 2.sbin 包含系統命令 3.dev 裝置檔案儲存目錄 4.etc 系統配置檔案儲存目錄 5.lib 系統庫檔案存放目錄 6.mnt 儲存裝置的掛載目錄 7.opt 某些軟體包被安裝在這裡,opt為 可選 的意思 8.proc 作業系統執行時...