檔案系統的架構層次包括:使用者層、虛拟檔案系統層、檔案系統層、緩存層、塊裝置層、磁盤驅動層和磁盤實體層。

1、使用者層
最上面使用者層是日常使用的各種使用者應用程式,需要的接口主要是檔案的建立、删除、打開、關閉、寫、讀等。
2、虛拟檔案系統層VFS
Linux作業系統分為使用者态和核心态,當使用者态請求硬體資源時需要調用System Call通過核心态去實作。VFS 作為一個通用的檔案系統,抽象了檔案系統的挂載點、索引節點、目錄項和檔案四個基本概念,在核心空間層中為使用者空間層的檔案操作(檔案的建立、删除、打開、關閉、寫、讀等)提供了相關的接口。
VFS 存在四個基本對象:
超級塊對象:代表一個已安裝的檔案系統;
索引節點對象:代表一個檔案;
目錄項對象代表一個目錄項;
檔案對象代表由程序打開的檔案。
超級塊、索引節點、目錄項、檔案這四個基本對象是對挂載點、索引節點、目錄項和檔案四個基本概念的一一對應的。
3、檔案系統層
不同的檔案系統實作了VFS的系統調用函數接口,通過指針注冊到VFS裡面。使用者層的各種操作是通過VFS轉到各種檔案系統的。
檔案系統大體上可分如下幾類:
網絡檔案系統,如 nfs、cifs 等;
磁盤檔案系統,如 ext4、ext3 等;
特殊檔案系統,如 proc、sysfs、ramfs、tmpfs 等。
4、緩存層
檔案系統底下有緩存,Page Cache,加速性能。對磁盤LBA的讀寫資料緩存到這裡。
5、塊裝置層
塊裝置接口Block Device是用來通路磁盤LBA的層級,讀寫指令組合之後插入到指令隊列,磁盤的驅動從隊列讀指令執行。
6、磁盤驅動層
磁盤的驅動程式把對LBA的讀寫指令轉化為各自的協定,或者是自己硬體可以識别的自定義指令,發送給磁盤控制器。
7、磁盤實體層
讀寫實體資料到磁盤媒體。