嵌入式 嵌入式文件系统jffs与yaffs 文件系统的区别

原创 2013年12月02日 14:38:37

 

JFFS是由瑞典的Axis CommunicationsAb公司开发的(1999,以GNU发布),针对flash设备的特性为嵌入式设备开发的.(我边上的兄弟曾想去那里作毕业设计)

JFFS1和JFFS2的设计中都考虑到了FLASH的特性特别是满足了上述3个条件,包括了垃圾回收,坏块管理等功能.这两种文件系统属于LFS(Log-structured FileSystem).这种文件系统的特点是一旦数据出错,容易恢复,但是系统运行是需要占用一定的内存空间,这些空间就是用来存储”log”的.

JFFS的缺点就是加载时间太长,因为每次加载都需要将FLASH上的所有节点(JFFS的存储单位)到内存,这样也占用了可观的内存空间.除此之外,”circlelog”设计使得在对文件数据进行所有的数据都会被重写,这样造成不必要的时间,同时也会减少FLASH的寿命.

JFFS2对JFFS1作了些改进,比如所需的内存变少了,垃圾回收机制也优化了.

针对JFFS1,JFFS2的缺点,JFFS3出现了.

YAFFS1 & YAFFS2
“Yet Another Flash File System”作者是新西兰的Charles Manning为一家名叫Alpha one的公司(http://www.aleph1.co.uk/)设计的,是第一个为NANDFlash设计的文件系统.共两个版本YAFFS1 和YAFFS2.

YAFFS1支持512Bytes/Page的NAND Flash;后者YAFFS2支持2kBytes/Page的NAND Flash.YAFFS文件系统也属于LFS.

跟其他文件系统比较,它具有更好的可移植性,甚至可以使用在没有操作系统的设备上(called “YAFFS/Direct”).YAFFS采用模块化设计,虽然最初是用在linux系统上的,但是也已经移植到其他系统比如wince.

还有个突出的优点是它在mount的时候需要很少的内存.(如果是小页—512byte/page,每1MByteNAND大约需要4KBytes内存;大页需要大概1KBytes RAM/1MByte NAND)

JFFS与YAFFS比较,两者各有长处. 一般来说,对于小于64MBytes的NANDFlash,可以选用JFFS;如果超过64MBytes,用YAFFS比较合适.

http://www.yaffs.net/yaffs-internals
http://www.yaffs.net/yaffs-direct-user-guide

相关文章推荐

[转贴]几种源码开放的嵌入式文件系统分析与比较

幾種源碼開放的嵌入式文件系統分析與比較張明磊、尚利宏第115期 2008/3/1由於嵌入式系統自身存在一些特殊要求,使得一些傳統的文件系統 (如FAT、EXT2等)並不十分適合。專用的嵌入式文件系統應...

详解linux平台芯片烧写流程

详解将持续更新!这里的烧写是针对板子里的nandflash中已经有uboot的情况。 目的在于熟悉烧写流程及原理! 连接好开发板,重新启动,进入u-boot交互界面,执行如下操作: 一、配置网络  ...
  • dcx1205
  • dcx1205
  • 2015年05月22日 00:32
  • 1719

嵌入式文件系统 jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tmpfs

原文 Linux支持多种文件系统,包括ext2、ext3、vfat、ntfs、iso9660、jffs、romfs和nfs等,为了对各类文件系统进行统一管理,Linux引入了虚拟文件系统VF...
  • cjsycyl
  • cjsycyl
  • 2012年07月05日 14:55
  • 615

嵌入式 NAND flash文件系统JFFS2和YAFFS比较

JFFS是由瑞典的Axis Communications Ab公司开发的(1999,以GNU发布),针对flash设备的特性为嵌入式设备开发的 JFFS1和JFFS2的设计中都考虑到了FLASH...
  • skdkjxy
  • skdkjxy
  • 2014年08月27日 21:45
  • 2469

嵌入式文件系统——Cramfs、JFFS2和YAFFS2概述

文件系统概述所谓文件系统,实际上就是在一个具体的存储设备上任何文件的组织和目录。这个设备可能是各种RAM、NAND FLASH、NOR FLASH等DOC设备,还有以NAND FLASH为基础的各种存...

嵌入式文件系统ext2、ext3、vfat、ntfs、iso9660、jffs、romfs和nfs等介绍

Linux支持多种文件系统,包括ext2、ext3、vfat、ntfs、iso9660、jffs、romfs和nfs等,为了对各类文件系统 进行统一管理,Linux引入了虚拟文件系统VFS(Virtu...

嵌入式 CRAMFS + YAFFS2文件系统的制作和注意事项

原文:http://blog.chinaunix.net/uid/20759926/frmd/75680.html 如何制作CRAMFS + YAFFS2文件系统 1.文件系统简述  随着32位C...
  • skdkjxy
  • skdkjxy
  • 2013年12月02日 14:38
  • 702

YAFFS 嵌入式文件系统

  • 2010年03月12日 00:10
  • 271KB
  • 下载

嵌入式系统文件系统概述及对比分析(包含jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tmpfs)

博主:这篇博文非常精炼地介绍了多种嵌入式系统文件系统的特点和用途,适合初学者全面扫盲。友情转载,在此感谢原文作者的贡献。       Linux支持多种文件系统,包括ext2、ext3、vfat、...
  • cpuabc
  • cpuabc
  • 2012年08月15日 22:00
  • 703
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:嵌入式 嵌入式文件系统jffs与yaffs 文件系统的区别
举报原因:
原因补充:

(最多只允许输入30个字)