1 /dev
該目錄下放的是設備文件,是應用程序和內核的交互文件,應用程序通過對這些文件的讀寫和控制(open、write、,poll等),可以訪問實際的設備。應用程序通過mknod創建的文件,如果底層驅動對mknod的設備號有對應的驅動,那么應用程序open "/dev/**"時,就會調用到底層的驅動。
2 /sys
/sys 是個文件系統,內核設備驅動中如果有調用kobj_add函數的,就會在/sys下對應目錄下創建相應的文件。 它的作用是將內核注冊的device、device_driver和bus通過鏈表組成一個樹形結構,表示內核都有哪些驅動和設備以及所屬的bus,便於管理。應用層也可以通過讀寫/sys下的文件和內核進行交互(ktype)。
3 /sys/devices
實際存放device和driver的,按照設備掛接的總線類型,組織成層次結構,保存了系統所有的設備;是文件系統管理設備的最重要的目錄結構;devices 中的所有設備都是連接於某種總線之下,每一種總線之下可以找到每一個具體設備的符號鏈接,它也是構成 Linux 統一設備模型的重要部分;
4 /sys/dev
下面有兩個子目錄,block和char,存放的是塊設備和字符設備的主次號,格式為:major:minor,但都是鏈接,指向 /sys/devices 目錄下的實際設備。
Linux在Documentation\filesystems文檔中有詳細講解