![]() |
|
Linux文件系統之虛擬文件系統(VFS) |
|
Linux系統成功的關鍵因素之一就是具有與其他操作系統和諧共存的能力。Linux的文件系統由兩層結構構建:第一層是虛擬文件系統(VFS),第二層是各種不同的具體的文件系統。 VFS就是把各種具體的文件系統的公共部分抽取出來,形成一個抽象層,是系統內核的一部分,它位于用戶程序和具體的文件系統之間。它對用戶程序提供了標準的文件系統調用接口,對具體的文件系統(如EXT2、FAT32等),它通過一系列的對不同文件系統公用的函數指針來實際調用具體的文件系統函數,完成實際的各有差異的操作。任何使用文件系統的程序必須經過這層接口來使用它。通過這樣的方式,VFS就對用戶屏蔽了底層文件系統的實現細節和差異。 VFS不僅可以對具體文件系統的數據結構進行抽象,以一種統一的數據結構進行管理,并且還可以接受用戶層的系統調用,如open()、read()、write()、stat()、link()等。此外,它還支持多種具體文件系統之間的相互訪問,接受內核其他子系統的操作請求,例如,內存管理和進程調度。VFS在Linux系統中的位置如圖2.2所示。
通過以下命令可以查看系統中支持哪些文件系統: $ cat /proc/filesystems 本文選自華清遠見嵌入式培訓教材《從實踐中學嵌入式Linux應用程序開發》 熱點鏈接:
1、嵌入式文件系統構建 |