ucfs文件系统效率提升探索
来源:互联网 发布:域名为什么要买 编辑:程序博客网 时间:2024/06/10 01:43
ucfs文件系统:各函数操作流程:
1.fsopen中第一次读目录表可以省去,判断目录是否已打开可以通过已打开文件结构体判断,这里应该是为了更加安全先检测目录是否存在了。
2.fswrite中当一次写入数据量大于一簇时,那么在读取fat表计算空闲簇 并写入fat表后 写数据的语句会循环执行直到数据全部写入,最后写目录表更新文件大小和时间;而多次调用fswrite写入数据就会多次读写fat表和目录表,产生较多的擦写次数造成读写效率下降,因此应用层调用写文件时尽量一次写入尽可能多的数据避免多次调用fswrite函数。
3.根据嵌入式设备实际情况写文件的数据量大都是小数据,不会超过1K字节,因此fswrite效率并不高,为了提高写文件效率可以创建缓冲机制(耗费内存):将fat表和目录表读到内存,每次修改不写入flash, 单位时间内的多次写同一文件(不超过一簇)的也缓冲到内存,直到单位时间耗尽或者缓冲区满 或者fsclose被调用才写入flash,代码修改比较复杂,其最终结果待实际检验。
实验结果:
1.实验得出写大数据(4K整数倍),文件系统效率提高微小,缓冲区每次都被填满,所以必须写入磁盘,因此写大数据时缓冲机制只在读写fat表和目录表时发挥作用,读写数据时不起作用。
2.多次写入少量数据(小于一扇区数据量),文件系统效率提升随fswrite的调用次数逐步提升,因为少量数据先写进缓冲区,等缓冲满才写入磁盘,因此多次写小数据是缓冲机制的作用就会越来越大。
3.注意:文件系统的簇必须和存储设备的读写块(或整数倍)一至,且数据区的起始扇区必须是存储设备的某一bloc的起始地址。
0 0
- ucfs文件系统效率提升探索
- 提升效率
- 从零构建一个400K的嵌入式Linux根文件系统UCFS
- 从零构建一个400K的嵌入式Linux根文件系统UCFS
- 关于效率提升
- 利用OpenMP提升效率
- as3效率提升
- 项目经理如何提升效率
- 效率提升工具
- jQuery效率提升建议
- 利用NSCache提升效率
- iOS效率提升工具
- 效率提升工具汇总
- jquery效率提升
- 利用NSCache提升效率
- vs提升效率快捷键
- 利用NSCache提升效率
- 游戏中提升效率!
- yum使用
- 【java项目实战】dom4j解析xml文件,连接Oracle数据库
- tomcat下配置https环境
- 设计模式:解释器模式
- executssql 函数的每一句代码的意思
- ucfs文件系统效率提升探索
- jQuery 选择器的优化(从官方文档翻译过来的)
- 别因为要学的太多反而压垮自己
- 推荐一些国内的Jquery CDN免费服务
- poj1995- 整数快速幂
- 东软实训,try
- 线段树总结
- Oracle索引,视图,同义词,角色
- hdu4862 jump 最小费用