大家好,我是阿桃,一个想成为被点赞关注的程序员。
工控行业、物联网行业、机器人行业软件开发可联系我
VFS虚拟文件系统:
随着嵌入式设备功能的发展, 应用需要存储的数据越来越多,也越来越复杂。文件系统就是一种来应对这些繁琐复杂的数据管理方式。具体的文件系统(FATFS、SPIFFS等)都实现了一套数据的存储、分级组织、访问和获取等操作的抽象数据类型(Abstract data type),向用户提供了一种底层数据访问的机制,数据存储的基本单位为文件。
虚拟文件系统(Virtual File System)则提供了一种对具体文件系统类型的一个抽象,它可以将多个具体的文件系统接口统一起来,用户可通过虚拟文件系统屏蔽各个底层具体文件系统的操作接口、数据类型差异。用户也可通过注册接口将自己的文件系统挂载到VFS上进行操作访问。虚拟文件系统的风格与UNIX/Linux类似, 根目录及目录分隔符都用“/”来表示。
VFS对外提供aos_xxx接口,对应的头文件为aos/vfs.h
,对应的接口实现位于:core/osal/aos/vfs.c
中。
严格来说,VFS是上图中vfs API这一层,对应的头文件是vfs_api.h,位于core/vfs/include/vfs_api.h,这些API仅供core内部使用。AliOS Things对应用开发提供统一的aos API,对于vfs提供aos vfs API。
AliOS 提供的VFS虚拟文件系统的接口风格与正常文件系统接口大致一致,所以很方便通过API上手,编码流程按正常文件系统操作流程编码即可。
文章每周持续更新,原创虽短,确不容易,欢迎大家点赞关注,一起交流技术一起提升成长。