android sdcard存储方案(基于wrapfs文件系统)
来源:互联网 发布:linux系统备份成iso 编辑:程序博客网 时间:2024/06/17 01:01
转:http://www.2cto.com/kf/201412/363638.html
一、基于fuse的sdcard存储方案缺点
android 默认的方案,是基于用户空间文件系统,最最大的优点是移植性好。
http://en.wikipedia.org/wiki/Filesystem_in_Userspace
通过分析android 默认的fuse方案操作流程,如上图。 我们可以看到其最最大的缺点是:
fuse文件系统和sdcard dameon必需频繁的进行命令交互、数据交换,
引入内核态和用户态切换系统开销。
根据前面文章的分析,android用户数据空间data目录和用户sdcard目录,物理上在emmc中是同一个分区。
而文件系统也采用同一个文件系统:ext4 。 如下图:
既然硬件上是emmc的同一个分区/软件上直接文件系统都是ext4 !那么问题来啦!
我们是否有理由希望data目录和sdcard目录的存储性能接近呢?
这个问题是值得期待的!
但结果是我们期待的吗?请看测试结果:
data目录基于ext4性能
sdcard目录基于fuse+ext4性能
由以上测试数据,可以看出fuse性能表现是令人失望的!直接导致存储性能非常大的损耗!
二、基于wrapfs的sdcard存储方案优点
前面的所有一切、一切都是为了这一节。
既然前面说了fuse给存储系统带来了这么大损耗,那如何改进呢? 继续……
基于wrapfs的android sdcard存储优化方案原理如下图:
由图上,可以看出,wrapfs将上层的请求直接传递给了底层ext4文件系统,看起来比fuse简单多了。
那么同样的问题来啦!
请看测试结果:
data目录基于ext4性能
sdcard目录基于wrapfs+ext4性能
由以上测试数据,可以看出基于wrapfs sdcard存储性能已经无限接近ext4啦!
总结:
android基于fuse sdcard存储方案,移植性强,但性能差。特别是针对性能好的emmc,性能drop更明显。
基于wrapfs sdcard存储方案,性能更强,越好的emmc,表现真好。但需要投入更多人力开发、维护。
- android sdcard存储方案(基于wrapfs文件系统)
- android sdcard存储方案(基于wrapfs文件系统)
- android sdcard存储方案优化(基于wrapfs文件系统):之三
- android sdcard存储方案(基于fuse文件系统):之二
- android sdcard存储方案(基于fuse文件系统):之一
- android sdcard存储方案一(基于fuse文件系统)
- android sdcard存储方案二(基于fuse文件系统)
- android sdcard存储方案三(基于fuse文件系统):
- android sdcard存储方案一(基于fuse文件系统)
- android sdcard存储方案二(基于fuse文件系统)
- android sdcard存储方案三(基于fuse文件系统):
- 基于fuse文件系统的android sdcard存储方案:之二
- Wrapfs : a stackable file system(一种堆栈式文件系统)
- Wrapfs : a stackable file system(一种堆栈式文件系统)
- Wrapfs : a stackable file system(一种堆栈式文件系统)
- android SDCard存储信息
- Android之SDcard存储
- Android关于SDCard存储
- Cogs 376. [IOI2002]任务安排(后效性DP)
- acm书中题目 m-13
- vue实现app页面切换效果
- ACM程序设计 -T (求幂)
- 关于acm程序设计书中题目 #H 第8题
- android sdcard存储方案(基于wrapfs文件系统)
- 常量指针和指针常量的区别
- C++中的堆与自由存储
- SDUT 3775 cyk追楠神系列三 典型的KMP类型题目
- 敏捷开发12条原则
- TensorFlow之shuffle_batch批量读文件
- C语言 变量的作用域和生命周期
- opengl之glutTimerFunc
- LeetCode No.70 ClimbingStairs