近年来,嵌入式Linux在工业控制、信息家电、个人数字化终端等领域得到了广泛应用,对嵌入式Linux的研究和改进也成为现在最热的研究领域之一。根文件系统作为嵌入式Linux的重要组件,用于对系统资源的统筹管理,其性能将直接影响到操作系统的效率。JFFS2是一种基于Flash存储器的日志型文件系统。它源代码开放、结构简单,具备断电保护和垃圾回收功能,是嵌入式Linux上最常用的文件系统之一。JFFS2作为通用Flash文件系统具有独特的优势,当应用于嵌入式Linux根文件系统时在安全性等方面并不理想,需进行优化改造。本文首先对嵌入式Linux文件系统相关知识和JFFS2文件系统的实现机制进行了深入研究,然后重点探讨和改进了JFFS2文件系统纠错性能和垃圾收集策略。为增强文件系统安全性,课题在JFFS2文件系统中引入了扩展BCH(32,21)码,同时保留原来仅具查错能力的CRC32校验,改造后的文件系统在读取时首先进行CRC32校验,若校验失败则启动BCH码进行纠错;为解决JFFS2文件系统垃圾收集效率较低和磨损平衡不确定性问题,课题对JFFS2文件系统的擦除块结构进行了改造,在每个擦除块的最后引入一个计数器,以记录每个擦除块的擦除次数,在进行垃圾回收时首先判断擦除块的使用频率之差是否超过确定阈值,若超过则按“平衡控制为主”进行收集,若未超过则按“回收效率为主”进行收集。这样在保证损耗平衡的前提下最大限度的提高了垃圾回收效率。文章最后分析了具体应用环境中根文件系统的实现过程和性能测试,并对所做工作进行总结,提出了将来的研究方向。