如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
嵌入式linux下常见的文件系统RomFS:只读文件系统,可以放在ROM空间,也可以在系统的RAM中,嵌入式linux中常用来作根文件系统RamFS:利用VFS自身结构而形成的内存文件系统,使用系统的RAM空间JFFS/JFFS2:为Flash设•RomFS:只读文件系统,可以放在ROM空间,也可以在系统的RAM中,嵌入式linux中常用来作根文件系统•RamFS:利用VFS自身结构而形成的内存文件系统,使用系统的RAM空间•JFFS/JFFS2:为Flash设计的日志文件系统•Yaffs:专门为NandFlash设计•proc:为内核和内核模块将信息发送给进程提供一种机制,可以查看系统模块装载的信息•devFS:设备文件系统Linux上的Ext2fs•支持4TB存储、文件名称最长1012字符•可选择逻辑块•快速符号链接•Ext2不适合flash设备•是为象IDE设备那样的块设备设计的,逻辑块大小必须是512byte、1KB、2KB等•没有提供对基于扇区的擦除/写操作的良好管理•如果在一个扇区中擦除单个字节,必须将整个扇区复制到RAM,然后擦除,再重写入•在出现电源故障时,Ext2fs是不能防止崩溃的•文件系统不支持损耗平衡,缩短了flash的寿命jffs/jffs2文件系统的优缺点•日志文件系统•提供了更好的崩溃、掉电安全保护•jffs2支持对flash的均匀磨损•在扇区级别上执行闪存擦除/写/读操作要比Ext2文件系统好•文件系统接近满时,JFFS2会大大放慢运行速度——垃圾收集Nand上yaffs文件系统的优势•专门为Nandflash设计的日志文件系统•jffs/jffs2不适合大容量的Nandflash•jffs的日志通过jffs_node建立在RAM中,占用RAM空间:对于128MB的Nand大概需要4MB的空间来维护节点•启动的时候需要扫描日志节点,不适合大容量的Nandflash•FAT系统没有日志编译yaffs文件系统•mtd的最新补丁升级?•接口更新,适合与yaffs•与原有的mtd驱动程序不兼容,需要重写•如果使用旧mtd驱动需要定义Makefile中MTD_OLD=-DCONFIG_YAFFS_USE_OLD_MTD•参考文档:yaffs-rootfs-howto•最新版的yaffs网站:http://www.aleph1.co.uk/armlinux/projects/yaffs使用yaffs文件系统•通过cat/proc/yaffs命令可以看到yaffs系统的相关信息•mount-tyaffs/dev/mtdblock/0/mnt/yaffs关于Linux文件系统JFFS全称为:TheJournallingFlashFileSystem(日志闪存文件系统)最初由瑞典的AxisCommunications开发,RedHat的DavidWoodhouse对它进行了改进。作为用于微型嵌入式设备的原始闪存芯片的实际文件系统而出现。JFFS文件系统是日志结构化的,这意味着它基本上是一长列节点。每个节点包含有关文件的部分信息—可能是文件的名称、也许是一些数据。相对于Ext2fs,JFFS因为有以下这些优点而在无盘嵌入式设备中越来越受欢迎:1JFFS在扇区级别上执行闪存擦除/写/读操作要比Ext2文件系统好。2JFFS提供了比Ext2更好的崩溃/掉电安全保护。当需要更改少量数据时,Ext2文件系统将整个扇区复制到内存(DRAM)中,在内存中合并新数据,并写回整个扇区。这意味着为了更改单个字,必须对整个扇区(64KB)执行读/擦除/写例程—这样做的效率非常低。要是运气差,当正在DRAM中合并数据时,发生了电源故障或其它事故,那么将丢失整个数据集合,因为在将数据读入DRAM后就擦除了闪存扇区。JFFS附加文件而不是重写整个扇区,并且具有崩溃/掉电安全保护这一功能。3这可能是最重要的一点:JFFS是专门为象闪存芯片那样的嵌入式设备创建的,所以它的整个设计提供了更好的闪存管理。要构建JFFS文件系统,首先要有硬件设备FLASH及支持JFFS文件系统的操作系统。摘要:本文主要分析了uclinux2.4内核的jffs文件系统机制。希望能对基于uclinux开发产品的广大工程师有所帮助。关键词:uclinuxvfsjffs申明:这份文档是按照自由软件开放源代码的精神发布的,任何人可以免费获得、使用和重新发布,但是你没有限制别人重新发布你发布内容的权利。发布本文的目的是希望它能对读者有用,但没有任何担保,甚至没有适合特定目的的隐含的担保。更详细的情况请参阅GNU通用公共许可证(GPL),以及GNU自由文档协议(GFDL)。你应该已经和文档一起收到一份GNU通用公共许可证(GPL)的副本。如果还没有,写信给:TheFreeSo