的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
驅動程序進行安裝,但我不希望這樣做。)