filex容错模块(掉电安全)

filex容错模块

看filex容错模块的目的是啥?

  1. 容错模块的原理
  2. 怎么配置让容错模块生效

配置让容错模块生效:

  1. FileX 容错功能可用于 FileX 支持的所有 FAT 文件系统,包括 FAT12、FAT16、FAT32 和 exFAT。
  2. 若要启用容错功能,必须在定义了 FX_ENABLE_FAULT_TOLERANT 符号的情况下生成 FileX。
  3. 在运行时,应用程序会在调用fx_media_open 之后立即调用 fx_fault_tolerant_enable,从而启动容错服务。
  4. 启用容错功能后,对指定介质进行的所有文件写入操作都会受到保护。 默认情况下,容错模块未启用。

容错模块日志放在哪里?
FileX 容错日志在闪存中占用一个逻辑群集。 该群集的起始群集号索引记录在介质的引导扇区中,偏移通过符号FX_FAULT_TOLERANT_BOOT_INDEX 进行指定。 默认情况下,此符号定义为 116。 此位置已选择,因为它在FAT12/16/32 和 exFAT 规范中标记为保留。

容错保护?
filex容错模块启动后,它首先会在介质中搜索西安有容错日志文件。如果找不到有效日志文件,则filex会将介质视为未受保护。在这种情况下,filex会在介质上创建容错日志文件。

如果找到容错日志文件,则 FileX 会检查现有日志条目。 没有日志条目的日志文件指示以前的文件操作成功,所有日志条目都已删除。 在这种情况下,应用程序可以开始使用具有容错保护的文件系统。

不过,如果找到日志条目,则 FileX 需要完成以前的文件操作,或还原已应用于文件系统的更改,从而有效地撤消更改。 在任一情况下,将日志条目应用于文件系统后,文件系统会还原为一致状态,应用程序可以再次开始使用文件系统。

对于受 FileX 保护的介质,在文件更新操作过程中,数据部分会直接写入介质。 在 FileX 写入数据时,它还会记录需要应用于目录条目 FAT 表的所有更改。 此信息记录在文件容错日志条目中。 此方法可保证将数据写入介质后,对文件系统进行更新。 如果在数据写入阶段弹出介质,则至关重要的文件系统信息尚未更改。 因此,文件系统不受中断影响。

将所有数据成功写入介质后,FileX 随后会按照日志条目中的信息,将更改应用于系统信息(一次一个条目)。 所有系统信息都提交到介质后,日志条目会从容错日志中删除。 此时,FileX 便完成了文件更新操作。

在文件更新操作过程中,不会就地更新文件。 容错模块会为数据分配扇区以供写入新数据,然后删除包含要覆盖的数据的扇区,从而更新相关 FAT 条目以将新扇区链接到链中。 在需要修改群集中部分数据的情况下,FileX 会始终分配新群集,将包含更新的数据的旧群集中的所有数据写入新群集,然后释放旧群集。 这可保证如果文件更新中断,原始文件保持不变。 应用程序需要注意,在 FileX 容错保护下,更新文件中的数据需要介质具有足够的可用空间,以便在释放包含旧数据的扇区之前容纳新数据。 如果介质没有足够空间来容纳新数据,则更新操作会失败。

相关推荐

  1. filex容错模块(安全)

    2024-07-12 06:22:02       27 阅读
  2. 安全文件系统littlefs移植

    2024-07-12 06:22:02       26 阅读
  3. ansible的file模块详解

    2024-07-12 06:22:02       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 06:22:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 06:22:02       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 06:22:02       58 阅读
  4. Python语言-面向对象

    2024-07-12 06:22:02       69 阅读

热门阅读

  1. HashMap源码解析

    2024-07-12 06:22:02       29 阅读
  2. 开发一个HTTP模块

    2024-07-12 06:22:02       22 阅读
  3. vscode gitee问题

    2024-07-12 06:22:02       25 阅读
  4. DBA 数据库管理 . 内连接.外链接

    2024-07-12 06:22:02       22 阅读
  5. CentOS搭建FTP服务器教程

    2024-07-12 06:22:02       26 阅读
  6. 自动优化:SQL Server数据库自动收缩配置指南

    2024-07-12 06:22:02       26 阅读
  7. 数据结构第20节 快速排序以及优化

    2024-07-12 06:22:02       27 阅读
  8. 力扣 1两数之和

    2024-07-12 06:22:02       26 阅读