嵌入式系统常见文件系统
本文主要讲述在嵌入式系统中,常见的基于flash和内存(RAM)的文件系统类型,具体选择要结合实际需求灵活选配。
一、基于 Flash 的文件系统
基于 Flash 的文件系统主要包括 JFFS2、 YAFFS、 Cramfs 和 Romfs 等,各种文件系统具有不同的特点,本文将分别进行介绍。
1. JFFS 文件系统( Journalling Flash File System)
FFS系列日志文件系统包括JFFS1、JFFS2和JFFS3。下面以JFFS2为例进行讲解。
-
JFFS2的工作原理
-
当文件系统加载时扫描整个 Flash 的内容,将信息读入日志结点 jffs2_raw_inode,然后根据该信息建立文件系统。修改操作是先分配新结点 jffs2_raw_inode,将内容写入新结点,然后将原来的结点标记为脏数据。当系统接近满或者已满时就要进行垃圾收集,需要扫描整个 Flash 中的结点,将标记为脏的结点进行回收。
-
数据结构
jffs2_raw_inode
源代码:
-