嵌入式文件系统小结
来源:互联网 发布:小熊棋牌源码 编辑:程序博客网 时间:2024/06/05 03:22
近日看了几个fat文件系统的源码,主要有ucfs、efsl、minfat等,小结一下。
嵌入式的文件系统虽有不少,但在消费类电子产品上,还是以fat为主,存储体为Nand Flash,加上mass storage功能,能让用户在pc上管理文件,如在mp3、电子词典上等,都用得很广泛。
ucfs:主要针对于多任务下的应用,程序中很多地方都没有使用固定的变量,而是每次都重新运算获得即时值,如文件系统类型判断就用了FS__fat_which_type这个函数,此函数每次都重新计算bpb中的值,判断是fat12/16/32。ucfs也缺少cache的管理,无论读和写都是立即物理操作,这样导致每次文件操作时,物理的读写太频繁,严重影响效率。这个源码的版本是1.24,而最新版本的介绍,已经支持read cache了。
单从效率上考虑,此文件系统并不能获得优势。但是对于多任务环境下,应该是能可靠稳定地工作。
efsl:efsl是在sourceforge.net上开源的一个项目,此项目正在持续更新,源码中也有很多注释,研读起来比较容易,潜力不错。efsl兼容fat12/16/32,同时支持多设备及多文件操作。每个设备的驱动程序,只需要提供扇区写和扇区读两个函数即可。
minifat:这个是toshiba提供的一个fs。此文件系统只支持fat12/16,提供了比较完整的文件操作函数,支持多设备和多文件,也支持cache管理。会有较高的效率。但文件系统不支持长文件名的读取,所有的文件都严格要求是Dos8.3格式的短文件名。总体来说代码清晰,可以自行扩展fat32及长文件名的支持。
最后一个fs,是一个朋友给的源码,支持fat12/16、unicode 、长文件名、多文件操作,但不能同时支持多设备。但在内存管理和字符串管理上面,效率比较低。
以上文件系统,都没有像yaffs那样,针对于特定的物理存储载体来做优化。在对效率要求更高的基础上,就需要针对特定的设备进行优化。
嵌入式的文件系统虽有不少,但在消费类电子产品上,还是以fat为主,存储体为Nand Flash,加上mass storage功能,能让用户在pc上管理文件,如在mp3、电子词典上等,都用得很广泛。
ucfs:主要针对于多任务下的应用,程序中很多地方都没有使用固定的变量,而是每次都重新运算获得即时值,如文件系统类型判断就用了FS__fat_which_type这个函数,此函数每次都重新计算bpb中的值,判断是fat12/16/32。ucfs也缺少cache的管理,无论读和写都是立即物理操作,这样导致每次文件操作时,物理的读写太频繁,严重影响效率。这个源码的版本是1.24,而最新版本的介绍,已经支持read cache了。
单从效率上考虑,此文件系统并不能获得优势。但是对于多任务环境下,应该是能可靠稳定地工作。
efsl:efsl是在sourceforge.net上开源的一个项目,此项目正在持续更新,源码中也有很多注释,研读起来比较容易,潜力不错。efsl兼容fat12/16/32,同时支持多设备及多文件操作。每个设备的驱动程序,只需要提供扇区写和扇区读两个函数即可。
minifat:这个是toshiba提供的一个fs。此文件系统只支持fat12/16,提供了比较完整的文件操作函数,支持多设备和多文件,也支持cache管理。会有较高的效率。但文件系统不支持长文件名的读取,所有的文件都严格要求是Dos8.3格式的短文件名。总体来说代码清晰,可以自行扩展fat32及长文件名的支持。
最后一个fs,是一个朋友给的源码,支持fat12/16、unicode 、长文件名、多文件操作,但不能同时支持多设备。但在内存管理和字符串管理上面,效率比较低。
以上文件系统,都没有像yaffs那样,针对于特定的物理存储载体来做优化。在对效率要求更高的基础上,就需要针对特定的设备进行优化。
zhongyh
<end>
- 嵌入式文件系统小结
- 嵌入式文件系统
- 嵌入式文件系统
- 嵌入式文件系统
- 嵌入式文件系统
- 嵌入式文件系统
- 嵌入式文件系统
- 文件系统小结
- 文件系统小结
- 嵌入式Linux文件系统简介
- 嵌入式文件系统的构建
- 嵌入式Linux文件系统简介
- 嵌入式文件系统简介
- 嵌入式文件系统分析
- 嵌入式Linux文件系统简介
- 嵌入式Linux文件系统简介
- 嵌入式Linux的文件系统
- 嵌入式系统文件系统比较
- 精彩转贴[组图](C#)安全、简单的Windows Forms多线程编程 (一)
- 为你的j2ee应用增加AOP 特性
- 转贴 [译].NET委托:一个C#睡前故事
- Function bytes2BSTR(vIn)
- js中的小技巧(转帖)
- 嵌入式文件系统小结
- 埃及艳后的鸡蛋美容术 [转]
- Spring 的 BeanPostProcessor
- 一个程序员的奋斗历程
- 全面认识手机扩展卡
- 基于时间戳的缓存构架:最近的数据拥有最佳的性能
- 转贴[译]C#WinForm中实现异形窗体/控件
- IT—Channel系統段工作總結
- 爱不要太深,否则会使自己受到伤害!