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