虛擬文件系統(tǒng)(VFS)的底層實現(xiàn)包括FatFS和LittleFS。VFS提供了fopen、fclose、fwrite、read等常用的文件操作接口。Key-Value (KV)接口就是基于這些常見的文件操作實現(xiàn)的。
Linux支持多種文件系統(tǒng),包括ext2、ext3、vfat、ntfs、iso9660、jffs、romfs和nfs等,為了對各類文件系統(tǒng) 進(jìn)行統(tǒng)一管理,Linux引入了虛擬文件系統(tǒng)VFS(Virtual File System),為各類文件系統(tǒng)提供一個統(tǒng)一的操作界面和應(yīng)用編程接口。
Linux中可以支持多種文件系統(tǒng),而且支持各種文件系統(tǒng)之間相互訪問,這是因為有一個虛擬文件系統(tǒng)。虛擬文件系統(tǒng)也叫虛擬文件系統(tǒng)轉(zhuǎn)換(Virtual Filesystem Switch,簡稱VFS),之所以說它虛擬,是因為該文件系統(tǒng)的各種數(shù)據(jù)結(jié)構(gòu)都是隨時建立或刪除的,在盤上并不永久存在,只能存放在內(nèi)存中。也就是說,只有VFS是無法工作的,因為它不是真正的文件系統(tǒng)。