Android на файловой системе Ext4

Автор: droid.

Основная причина миграции в том, что Ext4 демонстрирует заметно более высокую производительность. Несмотря на то, что YAFFS специально создана для Flash-накопителей, данная ФС имеет однопоточную архитектуру, что не позволяет ей полностью использовать потенциал современных многоядерных CPU. Изображение: 

Основная причина миграции в том, что Ext4 демонстрирует заметно более высокую производительность. Несмотря на то, что YAFFS специально создана для Flash-накопителей, данная ФС имеет однопоточную архитектуру, что не позволяет ей полностью использовать потенциал современных многоядерных CPU.

В блоге разработчиков платформы Android опубликовано предупреждение с рекомендацией использования системного вызова fsync() или sync_file_range() для принудительного сброса данных на диск, так как файловая система Ext4 более активно использует отложенную запись, что может вылиться в потерю недавних изменений в случае краха. Приложения для хранения данных использующие SharedPreferences или SQLite не подвержены этой проблеме, так как в данных системах имеется свой механизм контроля сброса данных на диск. В ответ на данное сообщение Theodore Ts'o, создатель файловой системы Ext4, указал на то, что крах телефонов достаточно редкое явление (сам он ни разу не сталкивался с крахом ОС Android), так как платформа сама по себе тестируется более тщательно. Кроме краха к потере данных может привести вытаскивание аккумулятора из работающего телефона, в этой ситуации fsync() действительно может помочь.