Ветер в лицо (фильм, 1930)
- 1 year ago
- 0
- 0
UBIFS ( англ. Unsorted Block Image File System, UBIFS) — файловая система с несортированными блоками. Является преемником JFFS2 и конкурентом LogFS в качестве файловой системы для использования с флеш-накопителями технологии NAND . Разработка началась в 2007 году , первый стабильный релиз внесён в ядро Linux 2.6.27 в октябре 2008 года. Файловая система разработана инженерами Nokia при участии сотрудников Университета Сегеда .
UBIFS работает поверх тома несортированных блоков, который сам по себе работает поверх запоминающего устройства , так как MTD не может использоваться непосредственно. Два основных различия между UBIFS и JFFS2 в том, что UBIFS поддерживает кэширование записи, и UBIFS делает поправку на пессимистическую оценку свободного пространства. UBIFS, как правило, работает лучше, чем JFFS2 на больших NAND-флеш-устройствах. Это следствие целей дизайна системы: быстрое монтирование , быстрый доступ к большим файлам, а также улучшенная скорость записи. UBIFS также лучше JFFS2 в сжатии на лету, восстановления информации и нечувствительности к сбоям питания. Сжатие данных на лету в UBIFS поддерживает алгоритмы Zlib ( Deflate ) или LZO .
JFFS2 сохраняет индексы файловой системы в памяти, в то время как UBIFS сохраняет индексы на флеш-памяти. Это непосредственно влияет на масштабируемость JFFS2, так как таблицы должны быть перестроены, каждый раз, когда том монтируется. Кроме того, таблицы JFFS2 могут потреблять большое количество оперативной памяти , поэтому некоторые тома могут стать непригодными для использования.
Том несортированных блоков ( англ. Unsorted Block Images, UBI) — это слой управления блоками стирания для устройств NAND. UBI служит двум целям: отслеживание плохих блоков NAND и обеспечение выравнивания износа. Выравнивание износа «размазывает» стирание и запись по всему устройству, и UBI представляет логические блоки стирания на более высокие уровни и карты этих физических блоков стирания. Слой был написан специально для UBIFS так, чтобы ей не приходилось заниматься функцией выравнивания износа и контролем плохих блоков. Тем не менее, UBI также может быть полезна для CramFS , так как CramFS не владеет информацией о плохих блоках.
UBI была дополнена в Linux 3.7 поддержкой быстрых карт (FastMap). FastMap актуализирует информацию, находящуюся на диске, ранее созданную в памяти путём сканирования всего устройства. Код алгоритма возвращается к предыдущему механизму полного сканирования при сбое. Старые же версии UBI-системы будут просто игнорировать FastMap-информацию.
В релизе версии ядра Linux 4.0 от 13 апреля 2015 года обеспечена поддержка блочного слоя blk-mq ( англ. multiqueue block layer) с многоуровневой моделью очередей, рассчитанного на организацию многопоточного доступа к данным на многоядерных системах и позволяющего эффективно использовать возможности современных SSD-накопителей . Также добавлена поддержка расширенных атрибутов «security.*».