浅谈文件系统

文件系统狭义的概念是一种对存储设备上的数据进行组织和控制的机制。文件系统的功能包括:管理和调度文件的存储空间,提供文件的逻辑结构、物理结构和存储方法;实现文件从标识到实际地址的映射,实现文件的控制操作和存取操作,实现文件信息的共享并提供可靠的文件保密和保护措施,提供文件的安全措施。
之前为了修改文件系统的缺陷研究过实现,今天看到之前的笔记就总结一下了,过了一段时间再加上没有设计文档参考,总结会有一些偏差,欢迎补充指教。
设备采用SEFS文件系统(只查到EFS(Encrypting File System,加密文件系统),当时需求紧急,就没多关注名字了,猜测s指的是simple,嵌入式文件系统可能不需要太复杂吧)。设备使用VxWorks操作系统,文件系统框架如下在这里插入图片描述
SEFS的文件操作需要注册在VX的IO设备下,其中最重要的操作是文件操作在block上的存储管理。此处的flash选用的是128M的nandflash,文件系统大小128M,分配block大小128K,共有1M个block,flash分区情况如下在这里插入图片描述
block info:存储所有block信息,各个分区大小。系统加载文件系统时进行有效性以及存储版本检查
mng info:管理区域,存储文件在block存储位置以及block上存储文件的section
sefs info:数据区域,所有文件的存储内容
backup info:备份区域,备份系统中的坏块
对文件系统初始化时,将其中的block info和MNG info写入ram。对其中的文件读写,首先通过管理信息找到对应文件存储的各个block区域,找到对应的物理地址,读取地址数据,若修改文件内容,除了对应物理地址内容更改和存储空间发生改变,还需要更改管理区域的信息,避免再次读取文件错误。
数据区域被分为若干个逻辑block,每个block上可能放有多个文件的数据section,每个文件也可能同时存在于多个block上,这些信息主要保存在管理区域。SEFS文件接口(SEFS_Open,SEFS_Close等)的主要功能就是读写block信息。

总结后发现好多实现都不是一会就明白的,以后接着回忆补充,要养成做一个马上总结的习惯果然很重要!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值