的Androidusesext4
为只读分区的文件系统,但在我看来闪存只读驱动ext2
是比较合适的,因为它不具备的性能开销和安全使用,而不写操作。在只读模式ext4文件系统有更好的移动设备性能,然后ext2?
我对不对?
的Androidusesext4
为只读分区的文件系统,但在我看来闪存只读驱动ext2
是比较合适的,因为它不具备的性能开销和安全使用,而不写操作。在只读模式ext4文件系统有更好的移动设备性能,然后ext2?
我对不对?
为什么的Android使用的只读分区
ext4
文件系统?
不是真的在这里,可能的专家不会给一个明确的答案,但是,因为你一定会知道,的Android很大程度上依靠的Linux和选择可能已经的Linux -dictated。
的great work通过Jonathan Levin其近来成为free和我强烈建议你熟悉的状态下*:
“Android enforces no constraints as to the filesystem types,但的eMMC和MMC设备目前使用Linux的ext4文件系统(作为姜饼,取代了旧版的YAFFS系统),因为存储层导出了一个块设备,Ext4已经成为Linux 2.6.27以来的默认文件系统,并且是经过充分测试的文件系统,尽管不是必须的闪存优化文件系统。 “
*第二章 - >分区方案 - >文件系统
而且ext4
不使用日志has better性能则ext2
:
ext2 ext4, default ext4, no journal
initial writes 13.0 MB/s 15.4 MB/s 15.7 MB/s
rewrites 13.1 MB/s 15.6 MB/s 15.9 MB/s
reads 15.2 MB/s 16.9 MB/s 17.2 MB/s
re-reads 15.3 MB/s 16.9 MB/s 17.2 MB/s
re-reads 15.3 MB/s 16.9 MB/s 17.2 MB/s
我没有真正的答案,但这里有一些可能性。
ext4
即使在只读模式下也有改进,比如使用扩展区而不是块图,而不是ext2
。这节省了元数据开销。
系统分区可以在根设备上和系统更新期间(除了在Nougat +使用两个系统分区进行无缝更新的设备上)重新读写。 ext4
通常具有比ext2
更好的分配行为。
可以使用-O ^has_journal
创建文件系统,这可以消除ext4的日志开销。 (见-j
选项mkuserimg_mke2fs.sh
。)
此外,鉴于ext4
已在使用的读写用户分区,我怀疑是避免ext2
只是为了减少不同的代码总量的趋势正在运行(并且需要测试)。一些端口未设置CONFIG_EXT2_FS
来缩小内核。 (ext2
文件系统仍然可以使用ext4
驱动程序进行安装,但我不希望这样做。)