The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Мобильная платформа Android начинает использование файловой системы Ext4

12.12.2010 21:12

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

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

  1. Главная ссылка к новости (http://thunk.org/tytso/blog/20...)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/28973-android
Ключевые слова: android, ext4, YAFFS
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (46) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, gegMOPO4 (ok), 21:38, 12/12/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это спасает скорее в случае краха приложения. При крахе системы fsync может и не спасти.

    Интересно, увеличится ли срок жизни флешки?

     
     
  • 2.4, Одмин (?), 22:09, 12/12/2010 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Это спасает скорее в случае краха приложения.

    ничего подобного, никакой связи между "грязными" страницами в памяти и userspace нет вообще. Крах приложения не вызовет недозапись кэшей.

     
     
  • 3.8, gegMOPO4 (ok), 22:25, 12/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Так в том-то и дело, что между write и close в пользовательской программе и блоками на диске слишком много промежуточных слоёв (не забываем, речь о Java).
     
     
  • 4.15, letsmac (ok), 23:44, 12/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >>в пользовательской программе и блоками на диске

    Сам же и написал - запись на диск идет в модуле ФС. Чего там ява недовыполнила - её проблемы за целостность и кэширование отвечает только менеджер записи.

     
     
  • 5.22, pavlinux (ok), 04:07, 13/12/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    :)
    Обычно пользователям плевать на целостность кэша,
    более интересует целый годовой отчет, аль курсовая
    едущие для сдачи или в печать. Это примерно где-то между
    нажатием на Save и оценкой в зачётке или подписью генерального.

     
  • 2.11, Аноним (-), 22:29, 12/12/2010 [^] [^^] [^^^] [ответить]  
  • –11 +/
    >>Интересно, увеличится ли срок жизни флешки?

    Причём тут флешка? У флешки вообще FAT32, тут говорят про встроенную память

     
     
  • 3.12, gegMOPO4 (ok), 23:03, 12/12/2010 [^] [^^] [^^^] [ответить]  
  • +8 +/
    А она на магнитных сердечниках?
     
  • 3.29, Аноним (-), 10:24, 13/12/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У меня на флешке ext3, ЧЯДНТ?
     
     
  • 4.40, Аноним (-), 19:55, 13/12/2010 [^] [^^] [^^^] [ответить]  
  • +2 +/
    пользуешься журналируемой фс на флешке. нормальные люди пользуются udf.
     
  • 3.30, zazik (ok), 10:31, 13/12/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>>Интересно, увеличится ли срок жизни флешки?
    > Причём тут флешка? У флешки вообще FAT32, тут говорят про встроенную память

    Пользователей Windoze просят покинуть этот ресурс.

     
  • 2.23, User294 (ok), 04:28, 13/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Интересно, увеличится ли срок жизни флешки?

    По сравнению с YAFFS? Зависит от. Если флеха за умным контроллером размазывающим записи самостоятельно - более-менее пофигу. Если без контроллера напрямую к процу прицеплена - скорее уменьшится, т.к. EXT4 никогда не создавалась с целью минимизации количества перезаписи блоков флеша и не затачивалась под размазывание записей по всему носителю равномерно.

     

  • 1.2, Аноним (-), 21:43, 12/12/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    А как же, типа, минимизация износа? ext4 ведь - журналирующая..
     
     
  • 2.6, Одмин (?), 22:11, 12/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > А как же, типа, минимизация износа? ext4 ведь - журналирующая..

    а прошлая тоже была журналируемой. Потом флешка вроде как сама должна следить за степенью износа своих страниц.

     
     
  • 3.24, User294 (ok), 04:29, 13/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Потом флешка вроде как сама должна следить за степенью износа своих страниц.

    Как бы от флешки зависит. Умные флешки с контроллером, типа SD карт, встроенных eMMC и прочая - да, следят. А "глупый" NAND напрямую прицепленный к процу - извините. Какой там флеш у гугля поюзан - а гугл его знает :)

     
  • 3.39, Анон (?), 19:54, 13/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    У меня некоторые станции грузятся с флешек, в виде лайв-систем, а там где нужно было чтоб все же можно было изменять систему - 2 флешки по 8Гб в софт-raid нормально. Везде райзерфс.

    PS флешки китайские у нас копейки стоят - дешевле полноценных жестких дисков ставить, тем более что лишние гигабайты так и подмывают планктон их забить всякой чухней.

     
  • 2.7, sdog (ok), 22:23, 12/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    ага, тоже про это подумал
     
  • 2.9, f0y (ok), 22:27, 12/12/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    noatime norelatime уменьшит износ
     
     
  • 3.16, letsmac (ok), 23:45, 12/12/2010 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > noatime norelatime уменьшит износ

    Скажи это sqlite или mysql :-)

     
  • 2.13, Drist (ok), 23:34, 12/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Журналирование в ext4 можно отключить, что и делают люди для тех же SDD.
     

  • 1.3, savant (ok), 21:53, 12/12/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    чем им интересно не понравилась jffs2?
     
     
  • 2.5, cafebabe.ru (ok), 22:10, 12/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    http://www.yaffs.net/comparison-yaffs-vs-jffs
     
  • 2.14, Кракен (?), 23:43, 12/12/2010 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Тогда уж UBIFS, сделанная нокией или LogFS. Неужели екст4 чётче?
     
  • 2.26, User294 (ok), 04:32, 13/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > чем им интересно не понравилась jffs2?

    Проблемами с масштабируемостью, вероятно. У нее время монтирования сильно растет с ростом размера файловой системы. ФС крупнее нескольких сотен мегов ... нескольких Гб задолбаться можно монтировать. При современных размерах флеша это как бы проблема - если бОльшая часть времени загрузки девайса будет монтированием файловой системы - это как бы слегка маразм, а?

     

  • 1.10, Аноним (-), 22:28, 12/12/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • –8 +/
    >>Интересно, увеличится ли срок жизни флешки?

    Причём тут флешка? У флешки вообще FAT32, тут говорят про встроенную память

     
     
  • 2.19, Aquarius (ok), 01:16, 13/12/2010 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Причём тут флешка? У флешки вообще FAT32, тут говорят про встроенную память

    как выше спросили не менее умного другого человека, неужели встроенная память на магнитных сердечниках?

     
     
  • 3.32, Инкогнито (?), 10:54, 13/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    294ый выше ответил уже.
     

  • 1.17, Аноним (-), 01:02, 13/12/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >YAFFS

    Кстати, читал в списке рассылки оной(в сентябре кажется), что её решили принять в мэйнстрим. И проспонсировали это дело ни кто-нибудь, а гугле. Видимо поматросили и решили, что рановато.

     
  • 1.18, iZEN (ok), 01:03, 13/12/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Я так понял, в случае зависания и/или вытаскивания батарейки из работающего телефона без вызова функции упреждающего сброса буфера вполне возможна не только потеря данных, находящихся в буфере, но и частичная деструкция файловой системы. Скажите, это так? Тогда "готова к продакшену" — это точно не про Ext4. :)) Уж лучше бы UFS2 с Soft Updates использовали.
     
     
  • 2.20, Анон (?), 03:00, 13/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Не сохранятся только последние ИЗМЕНЕНИЯ данных.
    Данные будут, но не самой последней версии, "в случае зависания и/или вытаскивания батарейки из работающего телефона без вызова функции упреждающего сброса буфера"
     
  • 2.27, User294 (ok), 05:15, 13/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Уж лучше бы UFS2 с Soft Updates использовали.

    Ага, вот гугл - дураки, а изен один такой в шляпе и со шпагой. А вы допортируете на это железо *бсд до юзабельного на практике а не в теории состоянии? Да, со всякими там 3D, акселерометрами, вайфаем/блутусом, хитрожопым управлением питанием, точскринами, камерами на хитрых и-фейсах и прочая. После этого можно будет обнаружить что скорость работы ископаемой ФС без экстентов - оставляет желать много лучшего. И, кстати, гугл не может подождать лишний десяток лет - конкуренты его платформу за это время замнут, знаете ли.

     
     
  • 3.35, iZEN (ok), 16:03, 13/12/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Уж лучше бы UFS2 с Soft Updates использовали.
    > Ага, вот гугл - дураки, а изен один такой в шляпе и
    > со шпагой. А вы допортируете на это железо *бсд до юзабельного
    > на практике а не в теории состоянии?

    Я не призываю портировать ядро FreeBSD на Android-смартфоны (хотя это было бы логичным — уйти от зависимости от других корпораций, ключевых разработчиков Linux). Достаточно перенести саму ФС — благо, в Linux уже есть поддержка этой ФС, но в зачаточном состоянии (читает только). Исходники UFS2 открыты под BSDL.

    > Да, со всякими там 3D, акселерометрами, вайфаем/блутусом, хитрожопым управлением питанием, точскринами, камерами на хитрых и-фейсах и прочая.
    > После этого можно будет обнаружить что скорость работы ископаемой ФС без экстентов - оставляет желать много лучшего.

    Не вижу логической связи ФС с 3D и Wi-Fi. Как и где ты её обнаружил?

    UFS2 меньше подвержена фрагментации и сливу свободного пространства в полузанятые блоки. У семейства файловых систем типа Ext, как у FAT16, слив свободного пространства на недоконца занятых блоках — самая больная тема, причём независимо от того, что в последней версии Ext4 появилась поддержка _предвыделения_ блоков (экстенты).

    > И, кстати, гугл не может подождать лишний десяток лет - конкуренты его платформу за это время замнут, знаете ли.

    Google смог выбросить glibc и заменить её BSD-реализацией libc. Почему ты думаешь, что заменить устаревшее ядро на более современное ей составит очень больших затрат? Ведь основной тренд разработки Android связан не с системным программным обеспечением, а с ПРИКЛАДНЫМ, независимым от ядра и его операционного окружения.

    Снова носом в землю, да?

     
     
  • 4.38, pavel_simple (ok), 19:07, 13/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    других это каких уйти о одних в виде OIN и попасть к дгугим в виде злобных проп... большой текст свёрнут, показать
     
     
  • 5.43, iZEN (ok), 22:32, 13/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Прикольно жить в чёрно-белом мире Критерий хуже лучше для смартфонов явно н... большой текст свёрнут, показать
     
     
  • 6.46, pavel_simple (ok), 00:30, 15/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >[оверквотинг удален]
    >> если они ничем не лучше"
    > Критерий хуже/лучше для смартфонов явно не в быстроте чтения-записи, но в экономичном
    > использовании полезного пространства файловой системой под данные пользователя.
    > Помниться, в 1997 году 500Мб файловый образ Mathlab не мог полностью уместиться
    > на диске 1ГБ FAT16 из-за того, что размер кластера 32k байт,
    > а средний размер файлика Matlab'а был около 15 кбайт — файловая
    > система просто не находила столько кластеров для каждого маленького файла, хотя
    > свободного места было для двух матлабов. :)) Проблему решили с переходом
    > на FAT32 в Windows 95 OSR2 и NTFS в Windows NT4
    > WS, у которых кластера по 4k байт. ;)

    а я т думал чт разницу в цене 4G или 16G гораздо проще компенсировать чем мощьностью и соответственно объёмом батарейки -- ну тебе видимо видней.

    >[оверквотинг удален]
    > Как мне поможет дефрагментатор, если свободное пространство поглощено неполностью занятыми
    > блоками и его в принципе нельзя никак уже использовать?
    >>>> И, кстати, гугл не может подождать лишний десяток лет - конкуренты его платформу за это время замнут, знаете ли.
    >>> Google смог выбросить glibc и заменить её BSD-реализацией libc. Почему ты думаешь,
    >>> что заменить устаревшее ядро на более современное ей составит очень больших
    >>> затрат? Ведь основной тренд разработки Android связан не с системным программным
    >>> обеспечением, а с ПРИКЛАДНЫМ, независимым от ядра и его операционного окружения.
    >> пруфлинк?
    > http://en.wikipedia.org/wiki/GNU_C_Library#Use_in_small_devices
    > http://en.wikipedia.org/wiki/Android_Market#Implementation_details

    так где? чёта не вижу

     
  • 6.49, User294 (ok), 22:33, 17/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Прикольно жить в чёрно-белом мире. :))

    Вам привет от битовых карт :-P.

    > Критерий хуже/лучше для смартфонов явно не в быстроте чтения-записи, но в экономичном
    > использовании полезного пространства файловой системой под данные пользователя.

    Прикалываетесь? Тормозные телефоны никто не будет покупать. И платформе настанет рослый полярный лис.

    > Помниться, в 1997 году 500Мб файловый образ Mathlab

    Зачем юзеру андроида 500 меговый (wtf образ то?) матлаба в телефоне в виде кучи мелких файлов? И вообще, ради чего оптимизить хранение уймы мелких файлов? Они занимают основную массу диска? Я почему-то думал что обычно львиную долю занимает музыка, фото, видео и что там еще. Ну сэкономите вы <4 Кб на 2-4 мега. Офигенный выигрыщ, аж менее 1%.

    > Как мне поможет дефрагментатор, если свободное пространство поглощено неполностью занятыми
    > блоками и его в принципе нельзя никак уже использовать?

    Человеку которому надо 500 меговый матлаб с мелкими файлами в телефоне помогать должен наверное не дефрагментатор...

     
  • 4.48, User294 (ok), 22:17, 17/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    А портировать писать заново поддержку этого ископаемого под другие ОС - это что ... большой текст свёрнут, показать
     
     
  • 5.50, iZEN (ok), 09:19, 18/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Угу Только вот Ext4 с журналирование для флэша ну никак не прёт По своим с... большой текст свёрнут, показать
     
  • 2.31, Аноним (-), 10:38, 13/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > :)) Уж лучше бы UFS2 с Soft Updates использовали.

    Старая она уж слишком. Лучше уж тогда HAMMER из DragonFlyBSD, к-я кластерная, к-я умеет делать умеет делать моментальные снепшоты в любой промежуток времени, к-я версионная:)

     
     
  • 3.37, iZEN (ok), 16:09, 13/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >> :)) Уж лучше бы UFS2 с Soft Updates использовали.
    > Старая она уж слишком. Лучше уж тогда HAMMER из DragonFlyBSD, к-я кластерная,
    > к-я умеет делать умеет делать моментальные снепшоты в любой промежуток времени,
    > к-я версионная:)

    Приплыли. А что, UFS2 уже разучилась делать снапшоты в любой момент времени без отмонтирования?

    И, да, снапшоты — не главное на смартфонах, хотя это и может способствовать быстрому восстановлению после сбоев и зависаний.


     

  • 1.25, pavlinux (ok), 04:31, 13/12/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А вот тут http://linux-tipps.blogspot.com/2010/10/disabling-fsync-in-laptopmode.html
    Убунтовцы призывают удалить сискал fsync() с целью продления жизни батарейки.
     
     
  • 2.28, ананим (?), 08:34, 13/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    ну дык... убунта не виснет.
     
     
  • 3.33, Anatol (??), 11:29, 13/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    а если нет упса и электричество в розетке закончилось?
     
     
  • 4.36, alikd (?), 16:04, 13/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Речь идёт о laptop. У них есть батарейки и Убунта говорит, когда закончится заряд, и может засыпать, если заряд меньше определённого процента.
     
     
  • 5.45, zazik (ok), 12:55, 14/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Речь идёт о laptop. У них есть батарейки и Убунта говорит, когда
    > закончится заряд, и может засыпать, если заряд меньше определённого процента.

    А если отсоединить батарею и в этот момент электричество кончится?

     

  • 1.44, Аноним (-), 02:09, 14/12/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Очередная победа отдела маркетинга над надёжностью.
     
  • 1.47, ПринцЧорнойТьмы (ok), 14:48, 15/12/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > сам он ни разу не сталкивался с крахом ОС Android

    У меня Samsung i5700 хотя бы раз в неделю виснет, приходится вынимать аккумулятор и ставить обратно чтобы перезагрузить. Иногда заместо повисания самопроизвольно перезагружается.
    Nexus S кстати тоже делает Samsung.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру