谈一谈如何处理文件系统损坏的问题

在嵌入式的设备上,一个无法避免的问题是,如果设备突然掉电,可能会引起一系列的连锁反应(这也是PC不建议直接扣电池的原因),其中有一项就是,突然掉电可能会引起文件系统损坏,这可是要命的!一般来说,如果只是文件损坏,那也没啥,最多坏一个或者几个文件,但要是文件系统损坏,那可能意味着所有数据的丢失(当然,如果你舍得花钱,还是可以找回来的, 只是成本问题),对用户体验的影响会是致命的,我们要如何解决这个问题呢?

首先从测试说起:

测试: 选用FAT32文件系统,自己写脚本做写入文件时随机断电的压力测试,发现:

问题一:文件系统没有损坏,但最后写入的文件有一个或者多个损坏

问题二:文件系统损坏,比如文件系统变成read-only(最常见的问题),有时也会有文件系统损坏

分析:

针对问题一,有一下两种case可能造成多个文件损坏(我们能接受的只有最后一个file坏掉,但其他的file必须是好的)

Case #1: 一个物理的block可能包含多个文件系统的block file,这样造成写一个file的时候可能把不相干的file擦除,造成其他文件损坏。

Case #2: 一个物理的block可能包含多个文件系统的block file,这样造成写一个file的时候可能把不相

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值