jffs2文件系统[1]--简介

本文详细介绍了jffs2文件系统的特点与背景,包括其日志型设计确保数据安全,数据压缩机制,以及在闪存上的超级块与节点信息管理方式。同时,文章也探讨了jffs2的不足之处,如挂载速度慢和垃圾回收机制的优化需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

jffs2全名JournallingFlashFileSystemVersion2,闪存日志型文件系统。日志型文件系统不怕断电,在写入过程中如果断电不易丢失数据。

特点

  1. 数据带有压缩性,存在flash中的数据是经过压缩的,而我们在目录下用ls命令或者用du命令看到的是解压过后的数据。所以你会发现jffs2文件系统用ls或者du命令看分区的总大小有可能会大于分区大小。
  2. jffs2文件系统flash上没有超级块即super block的信息,jffs2的sb是挂载mount命令时由内核建立并存在内存里的。所有flash上存的都是node信息。
  3. jffs2和yaffs2一样有垃圾回收机制,在挂载文件系统之后通过判断文件系统是否为只读,如果非只读,则会启动垃圾回收线程gb,这也是为了flash的磨损平衡。

不足

  1. 挂载速度慢。jffs2挂载时先建立超级块,在扫描整片分区建立文件节点和目录节点相关信息。后面通过summary功能,利用flash的空间记录所有节点信息放在summary节点,放在每个擦除块的末尾固定位置,挂载启动时,直接读取summary节点快速完成挂载,像是页表结构。
  2. gb回收会有不及时和误操作,通过磨损补丁优化。

推荐

文档

jffs2源代码分析

网站

http://www.linux-mtd.infradead.org/doc/jffs2.html

内核源码

qc@qc-VirtualBox:~/31863/libs/kernel/linux-5.5.3/fs/jffs2$ ls
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值