文件系统概述
所谓文件系统,实际上就是在一个具体的存储设备上任何文件的组织和目录。这个设备可能是各种RAM、NAND FLASH、NOR FLASH等DOC设备,还有以NAND FLASH为基础的各种存储卡等。目前,针对不同的设备和应用有很多文件系统可供选择,例如EXT2、TEMPFS、RAMDISK、CRAMFS、JFFS1/2、YAFFS1/2、XFS等。除此之外,还有很多供应商提供的商用文件系统。
随着32位CPU价格不断下跌,片上存储设备的容量相比越来越大,越来越多的嵌入式系统开始应用各种嵌入式操作系统。一般在嵌入式领域,只要应用到操作系统的必然会需要一个,甚至是多个文件系统。
由于嵌入式系统自身存在一些特殊要求,使得一些传统的文件系统 (如FAT、EXT2 等) 并不十分适合。专用的嵌入式文件系统应有一些自身的特性,如文件系统面对的储存介质特殊性、文件系统应具有的跨平台的安全性,以及整个系统的实时性等。Cramfs、 JFFS2、YAFFS2是3种性能优越,专用于嵌入式系统的文件系统。
CRAMFS文件系统
CRAMFS意为「compressed ROM file system,压缩只读闪存盘档案系统」,是一种开放式的 Linux 档案系统,是Linux的创始人Linus Torvalds开发的一种只读文件系统,采用了zlib压缩, 压缩比一般可以达到1:2,但仍可以做到高效的随机读取。
CRAMFS文件系统是专门针对闪存设计的只读压缩的文件系统,其容量上限为256M,采用zlib压缩,文件系统类型可以是EXT2或EXT3。如果使用RAMDISK方式来使用文件系统,那么在系统运行之后,首先得