/
FileSystem_microSD_cards%2Fru.mw
46 lines (26 loc) · 8.18 KB
/
FileSystem_microSD_cards%2Fru.mw
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
[[Category:MicroSD]]
{{Languages|FileSystem microSD cards}}
{|align=left
|__TOC__
|}
= Какую файловую систему выбрать =
Я раздобыл новую SD-карту. Какую файловую систему выбрать?
Краткий ответ: ext3. Другие варианты: ext2, vfat. Не используйте файловые системы, учитывающие износ, вроде jffs2 или ubifs.
= Почему ext3 =
В принципе, вы можете применять любые файловые системы (ФС), которые поддерживаются ядром ОС вашего смартфона. Как правило, это FAT, ext2 и ext3. Поддержка reiserfs на данный момент не включена в стандартное ядро. Отличие ext3 от FAT и ext2 состоит в наличии журналирования (которое также есть в reiserfs).
Журнал — это дополнительная структура данных, которая обеспечивает целостность ФС. Обычно при крахе операционной системы ФС повреждается и даже может стать непригодной к использованию. ФС, имеющая журнал, сначала записывает изменения в журнал, и лишь потом изменяет основные данные. Если что-то пошло не так, ФС может обратиться к журналу, повторить записанные там операции и восстановить данные. Без журнала подобные действия невозможны, и в случае сбоя может оказаться невозможно восстановить ФС.
Если вы почитаете рассылку сообщества (см. прим. 1 ниже), то увидите, что одна часть участников ратует за fat и ext2, в то время как другая часть, имевшая дело с повреждением данных, считает обе системы не лучшим выбором. Хотя ext3 не гарантирует отсутствие ошибок (она не проверяет запись), она остаётся лучшим вариантом с точки зрения минимизации потерь при повреждении ФС.
Журналируемая ФС имеет три недостатка:
# Пониженная производительность при записи, поскольку ФС выполняет дополнительные действия с журналом.
# Повышенная вероятность повреждения SD-карты, поскольку работа с журналом вызывает дополнительный износ.
# Пониженный полезный объём, поскольку часть полного объёма устройства занята журналом.
Касательно производительности: если вы используете SD-карту преимущественно для хранения статичных данных, вроде карт и музыки, то с производительностью проблем не будет. После начальной инициализации хранилища операции чтения не будут замедляться работой с журналом. Рекомендуем также ознакомиться со [http://www.debian-administration.org/articles/388 сравнительным тестированием] нескольких ФС Linux.
Касательно повышенного износа: гарантированное количество циклов записи достаточно велико, чтобы не беспокоиться на этот счёт. Кроме того, SD-карты имеют встроенные механизмы, делающие износ равномерным, так что журнал периодически будет перемещаться в другое место. В общем, повреждение SD-карты журналом вообще не должно быть проблемой, возникающей на практике.
Скорее всего, ваша новая карта уже отформатирована производителем в формате FAT. Плюс FAT в том, что она распознаётся многими операционными системами. Структура FAT проста, а значит, работа с ней требует меньше операций записи (спорное заключение — прим. phantom) и меньше вычислительных затрат (не проверено); кроме того, существует множество инструментов для восстановления данных после сбоев.
Также важно, что ext быстрее FAT (тесты?), но, что самое важное, она поддерживает права, чего нет в FAT. Конечно, FreeRunner в целом предполагает единственного пользователя, и права, наверное, не так важны. Другое преимущество ext2/3 заключается в поддержке жёстких и символических ссылок, что позволяет избавиться от избыточных копий файлов. Например, если вы храните карты, и некоторые фрагменты являются пустыми, вы можете сделать единственный файл для пустого фрагмента и во всех случаях, где это необходимо, сделать ссылки на него (для этого потребуется скрипт).
= Почему не jffs2 или ubifs =
Как насчёт файловых систем типа jffs2 и ubifs, которые учитывают износ Flash-памяти?
SD-карты, в соответствии со спецификациями SanDisk, должны иметь механизм, балансирующий износ, который контролирует число операций записи и при необходимости переадресует блоки. ФС, учитывающие износ, могут на деле работать против внутренней логики SD-карты, поэтому применять их на картах не рекомендуется.
= Примечания =
1: Эта статья написана в основном по отзывам пользователей почтовой рассылки сообщества OpenMoko: подробности [http://lists.openmoko.org/pipermail/community/2009-January/040521.html здесь] и [http://lists.openmoko.org/pipermail/community/2009-February/041072.html здесь].
2: Файловые системы являются достаточно сложными компонентами операционной системы и имеют разные сильные и слабые стороны, поэтому дать уверенный ответ на вопрос, какая ФС является наилучшей, весьма затруднительно. Если вы почитаете рассылку сообщества, то увидите, что у каждой из трёх упомянутых ФС есть сторонники. Кроме того, хотя приведённые соображения резюмируют известные и проверенные факты, до сих пор нет сравнительных тестов, учитывающих специфику архитектуры OpenMoko в сочетании с microSD-картами.