linux系統中以文件方式訪問設備,因為在Linux里面一切都是文件,設備對應的是設備文件,訪問某個設備文件就等于在訪問設備;在Linux中普通文件和目錄文件保存在稱為塊物理設備的磁盤或者磁帶上。
本教程操作環境:linux5.9.8系統、Dell G3電腦。
linux系統中以什么方式訪問設備?
在Linux系統中,以文件方式訪問設備。在Linux里面一切都是文件,設備對應的是設備文件,訪問某個設備文件就等于在訪問設備。
在Linux中普通文件和目錄文件保存在稱為塊物理設備的磁盤或者磁帶上。一套Linux系統支持若干物理盤,每個物理盤可定義一個或者多個文件系統。(類比于微機磁盤分區)。每個文件系統由邏輯塊的序列組成,一個邏輯盤空間一般劃分為幾個用途各不相同的部分,即引導塊、超級塊、inode區以及數據區等。
引導塊:在文件系統的開頭,通常為一個扇區,其中存放引導程序,用于讀入并啟動操作系統;超級塊:用于記錄文件系統的管理信息。特定的文件系統定義了特定的超級塊;inode區(索引節點):一個文件或目錄占據一個索引節點。第一個索引節點是該文件系統的根節點。利用根節點,可以把一個文件系統掛在另一個文件系統的非葉節點上;數據區:用于存放文件數據或者管理數據。
Linux最早引入的文件系統類型是MINIX。MINIX文件系統由MINIX操作系統定義,有一定的局限性,如文件名最長14個字符,文件最長64M字節。第一個專門為Linux設計的文件系統是EXT(Extended File System),但目前流行最廣的是EXT4。
第二代擴展文件系統由Rey Card 設計,其目標是為Linux 提供一個強大的可擴展文件系統。它同時也是Linux界中設計最成功的文件系統。通過VFS的超級塊(Struct ext2_sb_info ext2_sb)可以訪問EXT2的超級塊,通過VFS的inode(struct ext2_inode_info ext2_i)可以訪問EXT2的inode。
文件系統EXT2的源代碼在/usr/src/linux/fs/ext2目錄下,它的數據結構在文件/usr/src/linux/include/linux/ext2_fs.h以及同一目錄下的文件ext2_fs_i.h和ext2_fs_sb.h中定義。
EXT2文件系統將它所占用的邏輯分區劃分成塊組(block group),如圖1所示:
推薦學習:《Linux視頻教程》