差一点
我们就擦肩而过了
有趣
有用
有态度
设计文件系统思路
这一篇文章是带大家思考,fatfs文件系统是怎样逐步发展而来的,如果你是文件系统的设计者,你会怎么设计?希望从这个思考的过程,帮助大家掌握fatfs里面的一些基本概念。
要设计一种文件系统,说白了就是要实现一种文件名与文件数据的映射,也就是给定一个文件名后,就能找到它所对应的映射。这看似简单,事实上却不简单。要考虑的问题很多,比如数据的不连续存储、存储空间的有效利用等等。
这里我们从简单的实现算法开始思考,一步步逼近fatfs的设计思想。
原始文件系统
存储设备(flsh、软盘、硬盘)上面是由很多顺序分布的扇区所构成的,文件里面的内容就存储在这些扇区上面,最简单的算法,就是在先在扇区里面存储文件名,然后在文件名的后面存储对应数据。其他文件用同样的方法依次存储,最终文件系统里面的的布局如下图所示: