Имеет ли файловая система ext4 в режиме только для чтения лучшую производительность для мобильных устройств, чем ext2?
Android использует ext4
файловая система для разделов только для чтения, но на мой взгляд для флеш-накопителей только для чтения ext2
является более подходящим, потому что у него нет снижения производительности и безопасно для использования без операции записи.
Я прав?
2 ответа
Почему Android использует
ext4
файловая система для разделов только для чтения?
Не совсем эксперт здесь и, вероятно, не даст конкретного ответа, но, как вы наверняка знаете, Android сильно зависит от Linux, и выбор мог быть обусловлен Linux.
Великолепная работа Technologeeks которая в последнее время стала бесплатной и которую я настоятельно рекомендую вам ознакомиться со следующим: *
" Android не применяет никаких ограничений в отношении типов файловых систем, но устройства eMMC и MMC в настоящее время используют файловую систему Linux Ext4 (в отличие от Gingerbread вместо более старой системы YAFFS), поскольку уровень хранения экспортирует блочное устройство. Ext4 стал по умолчанию файловая система в Linux начиная с версии 2.6.27 и является хорошо протестированной файловой системой, хотя и не обязательно оптимизированной во флэш-памяти ".
* Глава II -> Схема разбиения -> Файловые системы
Также ext4
без использования журнала имеет лучшую производительность, чем 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
водитель, хотя я не ожидаю, что это будет сделано.)