分类: LINUX
2011-04-06 12:52:19
嵌入式系统中比较为JFFS、JFFS2、CRAMFS和YAFFS。
Linux支持多种文件系统,包括
嵌入式系统中比较常用的文件系统为JFFS、JFFS2、CRAMFS和YAFFS。
Linux支持多种文件系统,包括ext2、ext3、vfat、ntfs、iso9660、jffs、romfs和nfs等,为了对各类文件系统 进行统一管理,Linux引入了虚拟文件系统VFS(Virtual File System),为各类文件系统提供一个统一的操作界面和应用编程接口。
在嵌入式Linux应用中,主要的存储设备为 RAM(DRAM, SDRAM)和ROM(常采用FLASH存储器),常用的基于存储设备的文件系统类型包括:jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tmpfs等。
Jffs2: 日志闪存文件系统版本2 (Journalling Flash FileSystem v2)
JFFS2主要应用于NOR Flash,可读写,支持数据压缩,安全保护等特点。存储空间已满或接近满时,JFFS2文件系统的运行速度却由于垃圾收集的原因而放慢。不适合用于NAND Flash,NAND Flash的容量一般比较大,JFFS2文件系统为维护日志节点所占用的内存空间也迅速增大,因此JFFS2在挂载时需要很长时间来扫描整个FLASH的内容,用以找出所有的日志节点并建立文件结构,这样就会极大的降低系统的运行效率。
yaffs:Yet Another Flash File System
yaffs/yaffs2是专为嵌入式系统使用NAND型闪存而设计的日志型文件系统。不支持数据压缩,速度快,挂载时间很短,对内存的占用较小。支持跨平台。yaffs/yaffs2自带NAND芯片的驱动,并且为嵌入式系统提供了直接访问文件系统的API。yaffs仅支持小页(512 Bytes) NAND闪存,yaffs2可支持大页(2KB) NAND闪存。同时,yaffs2在内存空间占用、垃圾回收速度、读/写速度等方面均有大幅提升。
Cramfs Compressed ROM File System是一种只读的压缩文件系统。它也基于MTD驱动程序。 降低了系统成本。以压缩方式存储,在运行时解压缩,不支持应用程序以XIP方式运行,需要将程序拷到RAM里去运行,它的效率高,速度快,其只读的特点保护文件系统免受破坏,提高了系统的可靠性。
Romfs文件系统是一种简单的只读文件系统,不支持动态擦写,按顺序存放数据,因而支持应用程序以 XIP片内运行方式运行,在系统运行时,节省RAM空间。uClinux系统通常采用Romfs文件系统。
Ramdisk不是一个实际的文件系统,而是一种将实际的文件系统装入内存的机制,并且可以作为根 文件系统。 Ramdisk将一些经常被访问而又不会更改的文件放在内存中,用以提高系统的性能。
Ramfs是基于内存的文件系统,工作于虚拟文件系统(VFS)层,不能格式化,在创建时可以指定其最大能使用的内存大小,文件系统大小可随所含文件内容大小变化。所有的文件都放在RAM中,存储一些临时性的数据,读写操作都通过ramfs,避免了对Flash存储器的读写损耗,也提高了数据读写速度。
NFS Network File System在不同机器、不同操作系统之间通过网络共享文件的技术。在嵌入式Linux系统的开发调试阶段,可以利用该技术在主机上建立基于NFS的根文件系统,挂载到嵌入式设备,可以很方便地修改根文件系统的内容。
ext2、ext3、vfat、ntfs、iso9660、jffs、romfs和nfs等,为了对各类文件系统 进行统一管理,Linux引入了虚拟文件系统VFS(Virtual File System),为各类文件系统提供一个统一的操作界面和应用编程接口。
在嵌入式Linux应用中,主要的存储设备为 RAM(DRAM, SDRAM)和ROM(常采用FLASH存储器),常用的基于存储设备的文件系统类型包括:jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tmpfs等。
Jffs2: 日志闪存文件系统版本2 (Journalling Flash FileSystem v2)
JFFS2主要应用于NOR Flash,可读写,支持数据压缩,安全保护等特点。存储空间已满或接近满时,JFFS2文件系统的运行速度却由于垃圾收集的原因而放慢。不适合用于NAND Flash,NAND Flash的容量一般比较大,JFFS2文件系统为维护日志节点所占用的内存空间也迅速增大,因此JFFS2在挂载时需要很长时间来扫描整个FLASH的内容,用以找出所有的日志节点并建立文件结构,这样就会极大的降低系统的运行效率。
yaffs:Yet Another Flash File System
yaffs/yaffs2是专为嵌入式系统使用NAND型闪存而设计的日志型文件系统。不支持数据压缩,速度快,挂载时间很短,对内存的占用较小。支持跨平台。yaffs/yaffs2自带NAND芯片的驱动,并且为嵌入式系统提供了直接访问文件系统的API。yaffs仅支持小页(512 Bytes) NAND闪存,yaffs2可支持大页(2KB) NAND闪存。同时,yaffs2在内存空间占用、垃圾回收速度、读/写速度等方面均有大幅提升。
Cramfs Compressed ROM File System是一种只读的压缩文件系统。它也基于MTD驱动程序。 降低了系统成本。以压缩方式存储,在运行时解压缩,不支持应用程序以XIP方式运行,需要将程序拷到RAM里去运行,它的效率高,速度快,其只读的特点保护文件系统免受破坏,提高了系统的可靠性。
Romfs文件系统是一种简单的只读文件系统,不支持动态擦写,按顺序存放数据,因而支持应用程序以 XIP片内运行方式运行,在系统运行时,节省RAM空间。uClinux系统通常采用Romfs文件系统。
Ramdisk不是一个实际的文件系统,而是一种将实际的文件系统装入内存的机制,并且可以作为根 文件系统。 Ramdisk将一些经常被访问而又不会更改的文件放在内存中,用以提高系统的性能。
Ramfs是基于内存的文件系统,工作于虚拟文件系统(VFS)层,不能格式化,在创建时可以指定其最大能使用的内存大小,文件系统大小可随所含文件内容大小变化。所有的文件都放在RAM中,存储一些临时性的数据,读写操作都通过ramfs,避免了对Flash存储器的读写损耗,也提高了数据读写速度。
NFS Network File System在不同机器、不同操作系统之间通过网络共享文件的技术。在嵌入式Linux系统的开发调试阶段,可以利用该技术在主机上建立基于NFS的根文件系统,挂载到嵌入式设备,可以很方便地修改根文件系统的内容。