jffs2文件系统[1]--简介
jffs2文件系统[1]--简介
- 背景
- 特点
- 不足
- 推荐
- 文档
- 网站
- 内核源码
背景
jffs2全名JournallingFlashFileSystemVersion2,闪存日志型文件系统。日志型文件系统不怕断电,在写入过程中如果断电不易丢失数据。
特点
- 数据带有压缩性,存在flash中的数据是经过压缩的,而我们在目录下用ls命令或者用du命令看到的是解压过后的数据。所以你会发现jffs2文件系统用ls或者du命令看分区的总大小有可能会大于分区大小。
- jffs2文件系统flash上没有超级块即super block的信息,jffs2的sb是挂载mount命令时由内核建立并存在内存里的。所有flash上存的都是node信息。
- jffs2和yaffs2一样有垃圾回收机制,在挂载文件系统之后通过判断文件系统是否为只读,如果非只读,则会启动垃圾回收线程gb,这也是为了flash的磨损平衡。
不足
- 挂载速度慢。jffs2挂载时先建立超级块,在扫描整片分区建立文件节点和目录节点相关信息。后面通过summary功能,利用flash的空间记录所有节点信息放在summary节点,放在每个擦除块的末尾固定位置,挂载启动时,直接读取summary节点快速完成挂载,像是页表结构。
- gb回收会有不及时和误操作,通过磨损补丁优化。
推荐
文档
jffs2源代码分析
网站
http://www.linux-mtd.infradead.org/doc/jffs2.html
内核源码
qc@qc-VirtualBox:~/31863/libs/kernel/linux-5.5.3/fs/jffs2$ ls
jffs2文件系统[1]--简介相关推荐
- linux文件系统的移植-制作JFFS2文件系统
JFFS2全名是 Journalling Flash File System Version2,是Redhat公司开发的快闪存储器(简称:闪存:英文: Flash Memory)的档案系统[1],其前 ...
- JFFS2文件系统挂载过程优化的分析报告
一 问题描述 在上电启动优化中发现Linux系统下挂载JFFS2文件系统耗时较长,以128M的NOR FLASH为例,用时接近20秒.后续单板的FLASH容量为256M,时间会更长.如此长的挂载时间, ...
- 挂载jffs2文件系统遇到的问题
在板子里面使用如下命令mount -t jffs2 /dev/mtdblock7 /var/dr_bin/挂载文件系统时遇到几个问题,如下: 提示No such device问题 报错提示如下: 1. ...
- u-boot-2012.04.01移植到TQ2440(七):添加分区信息并启动jffs2文件系统
一.添加分区信息并启动jffs2文件系统 烧写之前的内核看输出分区信息 TQ2440 # tftp 32000000uImage dm9000 i/o: 0x20000000, id:0x90000a ...
- 下一代Linux文件系统,存储那些事儿(二): 下一代Linux文件系统BTRFS简介
BTRFS,通常念成 Butter FS,Better FS 或B-tree FS.下一代的Linux文件系统. 它基于写时拷贝(copy-on-write),支持高效的snapshot和clone. ...
- 3--新唐nuc980 kernel支持jffs2, Jffs2文件系统制作, 内核挂载jffs2, uboot网口设置,uboot支持tftp
本文目录 1.uboot网口设置 2.内核创建MTD分区,Jffs2文件系统制作 3.内核支持jffs2 4.内核挂载jffs2 首先支持spi nor flash https://blog.csdn ...
- Computer:IPFS(星际文件系统)的简介、安装、使用方法之详细攻略
Computer:IPFS(星际文件系统)的简介.安装.使用方法之详细攻略 目录 IPFS的简介 1.IPFS的应用 IPFS的安装 IPFS的使用方法 1.下载文件 第一步,启动IPFS节点 第二步 ...
- jffs2文件系统删除文件不释放空间
本文记录了jffs2文件系统释放空间失败问题的解决,以及追踪过程. 最近在调试时发现对jffs2文件系统下的文件执行删除动作时,不释放空间. 翻阅了jffs2的讲解http://www.ibm.com ...
- ZYNQ开机挂载SPI FLASH中的jffs2文件系统
目录 写在前面 Vivado工程建立 petalinux工程建立 下载程序,开机测试 没成功的话看这里 写在前面 做类嵌入式开发很久了,从51到STM32,Arduino,ESP8266,ESP3 ...
最新文章
- AAAI 2020论文解读:商汤科技提出新弱监督目标检测框架
- ERP实施完了,为什么还要做MES?
- PriorBox 改进
- 没有找到MFC80D.DLL,因此这个应用程序未能启动。重新安装应用程序可能会修复问题。...
- Jackson 注解 -- 忽略字段
- 七:Java之封装、抽象、多态和继承
- python考试pass or fail_Pytest官方教程-12-skip及xfail: 处理不能成功的测试用例
- the dhc driver package_DHC智商低?不,它用1k阅读,444个好看证明了自己
- hibernate 多表查询
- 继承ActionSupport 实现Action与属性驱动传参
- 上课解除教师机控制(红蜘蛛)超详细
- 自动驾驶仿真:角雷达坐标系转换详解
- 年货:Python技术知识清单(数据分析)
- Qt Creator 报错 moc_mainwindow.cpp:-1: error: undefined reference to `MainWindow::mouseDoubleClickEven
- Python中的np.random.binomial()二项式分布函数详解
- 华为数通笔记-策略路由
- html中输出 u263c,《 JavaScript程序设计》—— 第三章 数据
- AJAX设计模式之Lightbox---图片和网页外、连 flash、影片都可以显示在 Lightbox 弹出的方框里面
- Photoshop 2021 22.4.3 精简版
- 从苏宁电器到卡巴斯基第20篇:曲折考研路(补)
热门文章
- Mysql 数据库(二)——数据库基础
- docker使用DockerFile构建php镜像
- RK3568平台入门到精通系列讲解之KERNEL开发篇(MIPI 双摄像头添加)
- Android记录4--自定义ToggleButton+用SharedPreferences保存用户配置
- 螺旋仪传感器控制手机转向
- Java程序员学习Go_流程控制语句
- 一加5Android 手机,老外怒赞一加5:5个功能堪称安卓手机标杆
- 入侵必学:SQL语句大全
- python元组添加元素_Python 列表,for循环,元组的使用(修改、添加、删除、排序、切片)...
- 笔记本玩rust卡顿_《腐蚀RUST》steam销量第一,延迟高用斧牛加速器!