Embedded linux 两大文件系统

2019-07-13 06:30发布


由于嵌入式系统自身存在一些特殊要求,使得一些传统的文件系统(如FAT、EXT2等) 并不十分适合。
专用的嵌入式文件系统应有一些自身的特性,如文件系统面对的储存介质特殊性、文件系统应具有的跨平台的安全性,以及整个系统的即时性等。 1. JFFS2是一种较早的Flash专用文件系统。目前已有很多JFFS2应用于μClinux以及嵌入式Linux的例子。事   
实上,它已经成为新版Linux中的一种标准文件系统。  
同时它对NOR Flash和NAND Flash提供支援,针对两种Flash设备共同的特性,提供掉电保护和损耗平衡等   
功能,可供用户读写,十分适合于同时用到这两种Flash设备的嵌入式系统。  
JFFS2 的优缺点如下:
优点:
    使用了压缩的文件格式。最重要的特性是可读写操作。
缺点:
    JFFS2 文件系统挂载时需要扫描整个 JFFS2 文件系统,因此当 JFFS2 文件系统分区增大时,挂载时间也会相应的变长。
使用 JFFS2 格式可能带来少量的 Flash 空间的浪费。这主要是由于日志文件的过度开销和用于回收系统的无用存储单元,
浪费的空间大小大致是若干个数据段。 JFFS2 的另一缺点是当文件系统已满或接近满时, JFFS2 运行速度会迅速降低。这是因为垃圾收集的问题。
2. YAFFS2是专为NAND Flash设计的文件系统,它充分考虑了NAND Flash设备的特性,支援ECC校验,提   
供掉电保护和损耗平衡功能,运行和挂载速度都比JFFS2要快。它支援作业系统广泛,包括常见的嵌入   
式Linux、WinCE、μClinux。由于它提供Direct界面,因此稍加修改也可使用在没有作业系统的嵌入式   
系统中。目前,被广泛应用于使用NAND Flash作为储存设备的嵌入式系统中。
 
yaffs/yaffs2 的优缺点如下:
优点:
    专门针对 NAND Flash,软件结构得到优化,速度快。
    使用硬件的 spare area 区域存储文件组织信息,启动时只需扫描组织信息,启动比较快。
    采用多策略垃圾回收算法,能够提高垃圾回收的效率和公平性,达到损耗平衡的目的。
缺点:
    没有采用压缩的文件格式。当包含的内容相同时, yaffs2 镜像文件要比 jffs2 镜像文件大。