鸿蒙NEXT开发实战往期必看文章:
一分钟了解”纯血版!鸿蒙HarmonyOS Next应用开发!
“非常详细的” 鸿蒙HarmonyOS Next应用开发学习路线!(从零基础入门到精通)
HarmonyOS NEXT应用开发案例实践总结合(持续更新......)
HarmonyOS NEXT应用开发性能优化实践总结(持续更新......)
基本概念
VFS(Virtual File System) 是文件系统的虚拟层,它不是一个实际的文件系统,而是一个异构文件系统之上的软件粘合层,为用户提供统一的类Unix文件操作接口。由于不同类型的文件系统接口不统一,若系统中有多个文件系统类型,访问不同的文件系统就需要使用不同的非标准接口。而通过在系统中添加VFS层,提供统一的抽象接口,屏蔽了底层异构类型的文件系统的差异,使得访问文件系统的系统调用不用关心底层的存储介质和文件系统类型,提高开发效率。
M核的文件系统子系统当前支持的文件系统有FATFS与LittleFS。通过VFS层提供了POSIX标准的操作,保持了接口的一致性,但是因为M核的资源非常紧张,VFS层非常轻薄,没有提供类似A核的高级功能(如pagecache等),主要是接口的标准化和适配工作,具体的事务由各个文件系统实际承载。M核文件系统支持的功能如下表所示:
接口说明
表1 文件操作
接口名 | 描述 | FATFS | LITTLEFS |
---|---|---|---|
open | 打开文件 | 支持 | 支持 |
close | 关闭文件 | 支持 | 支持 |
read | 读取文件内容 | 支持 | 支持 |
write | 往文件写入内容 | 支持 | 支持 |
lseek | 设置文件偏移位置 | 支持 | 支持 |
stat | 通过文件路径名获取文件信息 | 支持 | 支持 |
unlink | 删除文件 | 支持 | 支持 |
rename | 重命名文件 | 支持 | 支持 |
fstat | 通过文件句柄获取文件信息 | 支持 | 支持 |
fsync | 文件内容刷入存储设备 | 支持 | 支持 |
表2 目录操作
接口名 | 描述 | FATFS | LITTLEFS |
---|---|---|---|
mkdir | 创建目录 | 支持 | 支持 |
opendir | 打开目录 | 支持 | 支持 |
readdir | 读取目录项内容 | 支持 | 支持 |
closedir |