FAT文件系统原理

来自逍遥居的笔记,感觉有用,贴过来.

       有一个想记录下来的就是关于写文件时写FAT表的情况.开始我以为写文件的过程中就会去写FAT表(直接改定FLASH;或是在内存中开一段BUFFER来存取一段FAT表,在内存中修改FAT表,然后再写回FLASH),但是后来觉得这样也在逻辑上不合理,如果写文件失败处理起来岂不是很麻烦.而且如果是直接写FLASH,速度上肯定是不允许的;如果是在内存中开BUFFER来写FAT表,很明显空间上至少要用掉一个SECTOR,这在嵌入式软件开发上是很浪费的.后来问了做文件系统的哥们儿,发现一个做法是很巧妙的.只是在内存中开一个20来个字节的BUFFER,这个BUFFER的使用是按Bit展开的,每一个Bit对应FAT表中的一个SECTOR,如果该SECTOR中有FAT表项被使用,则对应的Bit置1,否则置0.写文件的过程中,只是在FAT表中搜索有没有空表项可以使用,而并不去修改FAT表,待文件写完进行关闭的时候,才去修改FAT表.从头开如按照BUFFER中的Bit情况将FAT表中的空项用拉链的方式链接起来.我觉得这个方法很不错,重要的是这种处理问题的思路,不是以惯常的思路来处理问题,我觉得这个很重要.自己在这方面做的不是很好,解决问题总会不自然的按那些很惯常的思维想方法,以后在这方面应该多注意一些.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值