关闭

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

493人阅读 评论(0) 收藏 举报
分类:

 

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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:986660次
    • 积分:17703
    • 等级:
    • 排名:第540名
    • 原创:741篇
    • 转载:522篇
    • 译文:0篇
    • 评论:105条
    最新评论