Linux文件系统分类

11-20| http://www.dianzi6.com | arm嵌入式|人气:999

Linux文件系统分类

  在Flash上运行传统的文件系统,如ext2等,但是这类文件系统没有考虑Flash存储器的物理特性和使用特点。例如,Flash存储器中各个块的最大擦除次数是有限的,如果能够均匀地使用各个块,就能延长∏ash的整体寿命,这就需要磨损均衡的功能;为了提高Flash存储器的利用率,还应该有对存储空间的碎片收集功能;在嵌入式系统中,要考虑出现系统意外掉电的情况,所以文件系统应该有掉电保护的功能,保证系统在出现意外掉电时也不会丢失数据。

  Linux支持多种Flash文件系统,常用的主要包括:

  (1)Romfs,是一个只读的文件系统,它是最早支持Flash的文件系统。Romfs是一种基于块设备的文件系统,它是只读的,非常小巧。在Linux中,它属于默认的为嵌入式系统定制的文件系统。在Romfs文件系统中,文件中的所有数据都是顺序存储的,可以方便ARM、ColdFire等嵌入式处理器程序的运行。

  Romfs为根文件系统,需要读写的var和/ tmp目录采用Ramfs。

  (2)Cramfs,是2.4系列Linux内核提供的一种新的文件系统。它是一种压缩的、只读的文件系统。它主要的优势是所有存储的文件都是压缩的,而且这些文件只是在被访间到的时候才解压到RAM中,而不在访问之列的文件并没有被解压到RAM中。这样,Cramfs能有效减少Flash和RAM的占用量,但不足之处是需要的指令比较多,不支持XIP特性。

  (3)JFFS(Journaling Hash File System),是专门针对嵌入式系统中Hash存储器的特性而设计的一种日志文件系统。它是基于Nor-Flash开发的文件系统,它最大的特点是支持对Flash的直接读写。

  (4)JFFS2,是在JFFS的基础之上开发的,它采用了成熟稳定的MTD技术,因此要比JFFS稳定。和JFFS相比,JFFS2支持更多节点类型,提高了磨损均衡和碎片收集的能力,增加了对硬链接的支持。JFFS2还增加了数据压缩功能,这更利于在容量较小的Flash中使用。

  和传统的Linux文件系统如ext2相比,JFFS2处理擦除和读写操作的效率更高,并且具有完善的掉电保护功能,使存储的数据更加安全。在嵌入式系统中使用JFFS2文件系统的缺点很少,只是当文件系统快要满时,JFFS2会放慢运行速度,这是由于碎片收集的原因导致的。

  如表所示是几种常用的文件系统,其中Ext2和Ext3文件系统是在Linux中常用的文件系统。

常用文件系统的表现

  表 常用文件系统的表现

  JFFS2在Linux中有两面三刀种使用方式,一种是作为根文件系统,另一种是作为普通文件系统在系统启动后被挂载,通常选用后一种方面军式。

  Linux下采用的文件系统构成如图所示。

  图 Linux下的文件系统构成

  欢迎转载,信息 如果觉得 Linux文件系统分类这篇文章不错,可以推荐给朋友分享哦。

本文Tags:arm嵌入式系统,arm系统,arm开发,arm嵌入式,
相关arm嵌入式资料


温馨提示; 本站的资料全部免费下载,为方便下次找到本站记得将本站加入收藏夹哦,牢记网址http://www.dianzi6.com

此页提供Linux文件系统分类arm嵌入式系统,arm系统,arm开发, arm嵌入式参考。本站还有更多的arm嵌入式相关资料分享。
Copyright© www.dianzi6.com Inc. All rights reserved 。 1 2 3 4 5 6 7 8