The OpenNET Project / Index page

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

Представлена LittleFS, компактная файловая система для встраиваемых устройств

15.01.2018 12:58

Проект Mbed OS, в рамках которого компания ARM развивает открытую ОС для устройств "Интернета вещей", представил новую файловую систему LittleFS, оптимизированную для встраиваемых систем. Код ФС написан на языке Си и распространяется под лицензией Apache 2.0. ФС LittleFS доступна в составе Mbed OS 5.7, как FUSE-модуль для монтирования из Linux, в форме Си-библиотеки для интеграции с приложениями и как обвязка для JavaScrpt (emscripten) для обращения к данным из браузера.

Реализация LittleFS включает около 2000 строк кода, система не требовательна к ресурсам и может работать в условиях ограниченного размера ОЗУ. В коде не используются рекурсивные вызовы и возможна работа без динамического выделения памяти с использованием статически определённых буферов. В отличие от других ФС для Flash-накопителей, построенных на основе структур данных в форме лога, в LittleFS размер потребляемой оперативной памяти и служебных структур на накопителе всегда остаётся постоянным, независимо от того, что записывается в ФС и какого размера хранилище.

LittleFS включает программные средства для выравнивания износа Flash-носителей (wear leveling), позволяющие минимизировать повторное использование блоков и равномерно распределить операции очистки блоков на Flash-памяти, контроллер которой не обеспечивает решение данной задачи.

Важной для встраиваемой техники особенностью LittleFS также является устойчивость к сбоям - ФС рассматривает случайное прекращение работы (завершение работы через отключение питания) в качестве штатной ситуации и спроектирована для гарантирования нахождения хранилища на диске в целостном состоянии в любой момент времени. Для исключения нарушения целости и потери данных применяется механизм copy-on-write (COW), при котором изменения не перезаписывают информацию, а сохраняются в новое место.

Структуру LittleFS составляет набор блоков директорий. Каждая директория имеет связанный список пар метаданных, которые могут обновляться атомарно через изменение указателя на активный блок метаданных. Блоки директорий включают ссылки на другие файлы или директории. Содержимое файлов представлено COW-списками CTZ, обеспечивающими уровень сложности O(1) при добавлении и O(nlogn) при чтении. Выделение блоков осуществляется через сканирование ФС на предмет использованных блоков в области фиксированного размера, хранимой в виде битового вектора. Для упрощения сканирования все директории являются частью связанного списка, охватывающего всю файловую систему. Если при записи блока определяется ошибка, то выделяется новый блок и данные переносятся в него.

Поддерживается полный набор POSIX-подобных функций для работы с файлами и каталогами. Обеспечивается атомарность совершения таких операций, как удаление и переименование, даже в случае пропадания питания во время их выполнения. Фактически изменения файла сбрасываются на диск только после вызова sync или close. Рассогласования, вызванные операциями, которые не могут быть выполнены атомарно, решаются специальным обработчиком deorphan, который проходит по всему дереву ФС при первом распределении после загрузки.

  1. Главная ссылка к новости (https://os.mbed.com/blog/entry...)
  2. OpenNews: Компания ARM открыла исходные тексты встраиваемой операционной системы mbed OS
  3. OpenNews: В состав ядра Linux 3.8 войдёт файловая система F2FS
  4. OpenNews: Новая ФС Bcachefs, сочетающая функциональность btrfs/zfs с производительностью ext4/xfs
  5. OpenNews: Для Linux предложена новая ФС NOVA, спроектированная для NVM-памяти
  6. OpenNews: Первый выпуск файловой системы Zbox
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/47906-mbedos
Ключевые слова: mbedos, littlefs
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (92) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 13:38, 15/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >> уровень сложности O(1) при добавлении и O(nlogn) при чтении

    А ок ли это? Или планируется мало читать с этой ФС, типа конфиги на ней хранить которые потом превращаются в рантайм?

     
     
  • 2.2, dq0s4y71 (ok), 13:42, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > планируется мало читать

    Ну, для эмбеддед это норма. Есть ещё romfs такая.

     
  • 2.3, Andrey Mitrofanov (?), 13:47, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >>> уровень сложности O(1) при добавлении и O(nlogn) при чтении
    > А ок ли это?

    Почему нет? Размер кода и ограничения по памяти у них первее, например, а для таки "небольших" ф.с. фактическое время того nlogn может быть приемлемо для конкретного применения. Корень какого ембеда со 100 файлами и 10ью директориями  --  авдругаесли.

    Ну, и они ж logfs в 2kSLOC-ах и для микроконтролёра сделали. Это же #успех.

     
     
  • 3.60, Аноним (-), 00:39, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну, и они ж logfs в 2kSLOC-ах и для микроконтролёра сделали. Это же #успех.

    Сразу за тасксвичером вместо линукскернела, в очереди за игнобелевской премией.

     
  • 2.99, Асушник (?), 19:27, 22/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Нередко контроллер генерит много для его масштабов доступной памяти данных, а р... большой текст свёрнут, показать
     
  • 2.101, rewwa (ok), 23:35, 29/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >>> уровень сложности O(1) при добавлении и O(nlogn) при чтении
    > А ок ли это? Или планируется мало читать с этой ФС, типа
    > конфиги на ней хранить которые потом превращаются в рантайм?

    Вот для меня это тоже загадка.

     

  • 1.4, dq0s4y71 (ok), 13:50, 15/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    > написан на языке Си

    Но как же так? Почему опять не на Джаве/Питоне/Расте/Аде (нужное подчеркнуть)?

     
     
  • 2.5, Аноним (-), 13:54, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ретрограды, сэр. Опять будем ловить переполнения буферов и прочие исключительно си-стайл ошибки значит.
     
     
  • 3.23, фывфыв (?), 17:45, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    PVS или прямые руки вам в помощь.
     
     
  • 4.24, фывфыв (?), 17:45, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > PVS или прямые руки вам в помощь.

    И Valgrind еще.

     
  • 4.57, Аноним (-), 23:30, 16/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, понимаешь, поймать баги в 10 кило сишного кода - проще чем например питон до скорости сишки разогнать. Над последним трахалось с пяток огромных корпораций. Гугл затрахался и сделал go в результате. Который может прибить не только питон, но и яву пожалуй.
     
  • 2.9, Andrey Mitrofanov (?), 14:29, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> написан на языке Си
    > Но как же так? Почему опять не на Джаве/Питоне/Расте/Аде (нужное подчеркнуть)?

    Кстати да, LISP ещё в прошлом веке [в микроконтроллере] на Марс летал, а они со своим апачем... </>  https://duckduckgo.com/?q=lisp+jpl+history+mars //да, я в курсе, что там написано, что тогда же его и выбросили.

     
  • 2.18, Аноним (-), 16:18, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +13 +/
    Потому что хипстеры от кодинга не могут в embed, как штаны не подворачивай.
     
     
  • 3.39, Ordu (ok), 20:21, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Да ладно тебе, не могут Всё они могут https github com gergoerdi rust-avr-ch... большой текст свёрнут, показать
     
     
  • 4.58, Аноним (-), 23:45, 16/01/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Чинить то что не сломано вообще идея очень так себе. На сях десятилетиями писали проекты для микроконтроллеров и не только, при том очень требовательные к надежности - всякие управляющие системы для жесткого реалтайма и ответственных применений.

    А целая атмега для мигания светодиодиком - весьма по хипстерски. Надо было не мелочиться и писюк взять. Смотри, в /sys/class/leds, можно даже из баша мигать, даже клавиатурой блин :).

    А подворачивая штаны, в 32-битных микроконтролях половина работы с периферией - тупо прямые обращения в память. И еще дрюкание DMA автомата, если хочется чтобы это быстро было и без участия проца. Поэтому толку от rust-а там ноль целых, фиг десятых.

     
     
  • 5.74, Ordu (ok), 05:51, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Фе Ты писал под микроконтроллеры на C Значит тебе приходилось заливать в mc кр... большой текст свёрнут, показать
     
     
  • 6.90, Аноним (-), 00:32, 18/01/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    И не только я Но и еще легион писателей А знаешь почему Потому что это - рабо... большой текст свёрнут, показать
     
     
  • 7.92, Ordu (ok), 06:19, 18/01/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Давай я, прежде чем продолжать дискуссию, уточню один момент Я на самом деле не... большой текст свёрнут, показать
     
     
  • 8.95, Аноним (-), 09:16, 19/01/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    ADA тоже была полезна для космической техники И все-же Arian 5 упал А Элон Мас... большой текст свёрнут, показать
     
     
  • 9.96, Ordu (ok), 10:56, 19/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Чтобы обосновать квадратные колёса, их сначала надо сделать Пустобрёхи в интерн... большой текст свёрнут, показать
     
     
  • 10.97, Аноним (-), 10:35, 21/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Хорошо ты физиков-теоретиков и любителей сперва в среде моделирования спроектиро... большой текст свёрнут, показать
     
     
  • 11.98, Ordu (ok), 09:42, 22/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Физики-теоретики были бы совершенно бесполезными ребятами, если бы не эмпирики, ... большой текст свёрнут, показать
     
  • 2.19, лютый жабист__ (?), 16:45, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Жаба для сложных задач, а не фигуль на 2к строк
     
     
  • 3.22, Andrey Mitrofanov (?), 17:14, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > Жаба для сложных задач, а не фигуль на 2к строк

    "Любая фигуля на жабе раздувается сама на 2к+ строк."
        лютый жабист__

    Могу Вас %)цитировать?

     
  • 3.29, dq0s4y71 (ok), 18:24, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +7 +/
    То-то я смотрю все ядра ОС на жабе написаны, а все гoвнoприложения для Андройда - на Си...
     
     
  • 4.44, лютый жабист__ (?), 09:33, 16/01/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >То-то я смотрю все ядра ОС на жабе написаны

    Господи, Линус плюсы не осилил, какая жаба? :)
    А раз Линус не осилил, значит надо часто-часто повторять, что оно не нужно и всё сбудется :)

     
     
  • 5.47, Аноним (-), 11:44, 16/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Господи, Линус плюсы не осилил, какая жаба? :)

    Жаба то проще в н-дцать раз. Любой плюсист поймет код на джаве, а вот наоборот нифига.

     
  • 5.48, dq0s4y71 (ok), 13:40, 16/01/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Господи, Линус плюсы не осилил, какая жаба? :)

    Такой тупoй Линус, ага. И разработчики всех остальных ОС тоже такие тупые...

    > А раз Линус не осилил, значит надо часто-часто повторять, что оно не нужно и всё сбудется :)

    А всё уже сбылось. Жабисты любят повторять, что в "сложных" проектах без жабы не обойтись, но, по факту, самые сложные и требующие надёжности проекты пишутся на "небезопасных" низкоуровневых языках. А жаба как таковая - это очередная вариация на тему "Каким должен быть Си". Даже от точки с запятой не избавилась.

     
     
  • 6.50, Аноним (-), 18:48, 16/01/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > самые сложные и требующие надёжности проекты пишутся на "небезопасных" низкоуровневых языках

    Ядро ОС — не самый сложный проект. А уж если говорить о линуксе, то он всяко проще systemD, чего уж говорить о реальных энтерпрайзных приложениях с кучей сервисов и сопутствующей предметной областью, одно лишь изучение которой у типикал кернел девелопера займет десятилетия (даже если не потребуется написать ни строчки кода).

     
     
  • 7.53, pavlinux (ok), 19:36, 16/01/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Ядро ОС — не самый сложный проект.

    Да ты чо?!

     
     
  • 8.54, Аноним (-), 19:53, 16/01/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну да, а чо Шаблончик потрескался ... текст свёрнут, показать
     
  • 7.55, dq0s4y71 (ok), 20:18, 16/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > А уж если говорить о линуксе, то он всяко проще systemD

    И, кстати, Поттеринг тоже не осилил С++, надо же! :D

    > одно лишь изучение которой у типикал кернел девелопера займет десятилетия

    Ну они ж тупые, понятно. Не в пример жабакодерам ;)

     
     
  • 8.56, Аноним (-), 20:56, 16/01/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Применение Java 8482 в проекте systemD неуместно в связи с тем, что одной из ц... большой текст свёрнут, показать
     
     
  • 9.59, dq0s4y71 (ok), 23:46, 16/01/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Да что вы Говорят же, что Джава по скорости не уступает С Врут Чушь собачья... большой текст свёрнут, показать
     
     
  • 10.66, Аноним (-), 01:03, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Не врут, а набрасывают 8482 , почти не скрываясь 8211 cудя по всему, вполне ... текст свёрнут, показать
     
     
  • 11.84, dq0s4y71 (ok), 12:02, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Хорошо, когда просто набрасывают А когда такой умник заводится на работе, начин... текст свёрнут, показать
     
  • 10.75, лютый жабист__ (?), 05:55, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    На простых задачах, например криптография, жабка может раз в 10 уступать И На ... текст свёрнут, показать
     
     
  • 11.80, dq0s4y71 (ok), 11:15, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем пилить дрова ножовкой, если в распоряжении есть бензопила Нормальные лю... текст свёрнут, показать
     
  • 10.79, Аноним (-), 09:52, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    8222 171 формальных методов оценки сложности системы до сих пор не существуе... текст свёрнут, показать
     
     
  • 11.82, dq0s4y71 (ok), 11:30, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Мамой клянусь, что только жаба позволяет решать сложные задачи ... текст свёрнут, показать
     
  • 9.71, 0ffh (??), 03:20, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Человеку, всю жизнь копающемуся в регистрах и байтиках, будет проблематично выйт... текст свёрнут, показать
     
     
  • 10.72, 0ffh (??), 03:22, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    прежде чем начать ковырятся в битиках - надо абстрактно - конкретно понять ка... текст свёрнут, показать
     
  • 9.77, Andrey Mitrofanov (?), 09:32, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Враньё-о-о https openbenchmarking org embed php i 1711248-AL-BOOTTIME320 sh... текст свёрнут, показать
     
  • 7.61, Аноним (-), 00:42, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Ядро ОС — не самый сложный проект.

    Глядя на линукскернел так и не скажешь...

    > о он всяко проще systemD

    Что-то не помню патчей по 10 мегабайтов каждый месяц на сорцы системды. А на линукс это норма жизни. И вообще, пакет системды весит пару мегов. Пакет ядря линя со всеми модулями - метров 70.

     
     
  • 8.73, лютый жабист__ (?), 05:49, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    гляжу в книгу, вижу линусккернел Во первых, если пофантазировать, что линукс пе... текст свёрнут, показать
     
     
  • 9.78, Andrey Mitrofanov (?), 09:40, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, ксанф, выпей море Жабист всё про своё про ядро, которому не нужны драй... текст свёрнут, показать
     
  • 9.83, dq0s4y71 (ok), 11:38, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Когда в руках молоток, все вокруг кажется гвоздями ... текст свёрнут, показать
     
  • 9.85, Nameless Anonymous. (?), 12:20, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    В Linux-е для этого существует selinux или apparmor , который позволяет запрети... текст свёрнут, показать
     
  • 9.89, Аноним84701 (ok), 22:54, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Но только если оно добровольно файрволилось А вот если приложение читало или пи... текст свёрнут, показать
     
  • 9.91, Аноним (-), 01:10, 18/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    У тебя что, произошло переселение душ с изеном Для начала написать на яве керне... большой текст свёрнут, показать
     
     
  • 10.93, лж__ (?), 06:53, 18/01/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Слово пофантазировать не заметил Ну растолкую, имелось в виду сравнивать в лоб... текст свёрнут, показать
     
  • 10.94, лж__ (?), 07:10, 18/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Типичный сишник, как вижу, даже читать не умеет Речь была про то, что линух-кёр... текст свёрнут, показать
     
  • 7.76, Andrey Mitrofanov (?), 09:22, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> самые сложные и требующие надёжности проекты пишутся на "небезопасных" низкоуровневых языках
    > Ядро ОС — не самый сложный проект. А уж если говорить о
    > линуксе, то он всяко проще systemD,

    Кстати, человек прав. В каком-то смысле.

    С т.з. пользователя в s-d гораздо _больше_ ненужной(как там по taoup правитильное слово-то?-) сложности. Несмотря на 15М SLOC против каких-то жалких <400K.

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

    Эти наслоители лейеров и обструкторы абстракций известны своими пёрлами, да.  И тут Леннарт -- яркая восходящая звездулька.

    > изучение которой у типикал кернел девелопера займет десятилетия (даже если не
    > потребуется написать ни строчки кода).

    Вот про дев-ров толстовато вышло. Про "типикал" так вообще жироновато.

     
  • 2.34, Crazy Alex (ok), 19:11, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что - сюрприз - так выросло - есть специалисты, библиотеки, процессы, инструменты. И стоимость перехода на что угодно обычно ни черта этот переход не оправдывает. Где надо - там джава (в SCADA, например), и ада, и всё остальное есть, но в среднем по больнице дешевле писать на сях и тестировать до достижения нужной надёжности. Это если вообще. А в данном случае - ну дык у них весь mbed на сях, на чём им ещё ФС писать? Особенно в больших масштабах, где копеечная экономия на более хилой железке даёт в итоге приличную разницу в деньгах.

    Больше того - для того эмбеда, где подобные ФС применяются, основная проблема - не столько сишные беды (там обычно статическое выделение памяти и достаточно квалифицированные разработчики, у которых переполнения и подобное бывают крайне редко), сколько приколы железа, с которыми нормально получается работать именно на низком уровне.

     
  • 2.42, doom (ok), 22:05, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> написан на языке Си
    > Но как же так? Почему опять не на Джаве/Питоне/Расте/Аде (нужное подчеркнуть)?

    Потому, что как ты не ругай Си, но для всякого рода бибиотек и подобных творений он идеален. Т.к. имеет простой ABI, производительность и кросплатформенность. Поэтому все твои Джаве/Питоне/Расте/Аде сходу смогут использовать этот код, в том числе и спомощью автоматом нагенегрированных "биндингов". Удивляет, что это из недр Mbed, где популярен С++, но молодцы в отличии от гугложопников, которые умудряются примитивный Си код засунуть в примитивный С+, когда это нафиг не нужно.

     

  • 1.6, Аноним (-), 14:05, 15/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +18 +/
    > ФС рассматривает случайное прекращение работы (завершение работы через отключение питания) в качестве штатной ситуации

    Два чая разработчикам.

     
     
  • 2.33, Аноним (-), 18:56, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +4 +/
        int err = fs.mount(&bd);
        if (err) {
            // Reformat if we can't mount the filesystem
            LittleFileSystem::format(&bd);
            fs.mount(&bd);
        }

    ну а че, проверка есть... обработка тоже. Штатное поведение, не продерешься.

     

  • 1.7, adolfus (ok), 14:13, 15/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    > Структуру LittleFS составляет набор блоков директорий. Каждая директория имеет связанный список ...
    > Поддерживается полный набор POSIX-подобных функций для работы с файлами и каталогами ...

    Чем директория отличается от каталога?

     
     
  • 2.8, Аноним (-), 14:29, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +8 +/
    На жестком диске файловая система. В файловой системе директория. В директории каталог. В каталоге папка. В папке файл.
     
     
  • 3.11, Аноним (-), 14:32, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Говорят раньше в Windows 95 были еще портфели.
     
     
  • 4.15, adolfus (ok), 15:05, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    И шкафы
     
     
  • 5.25, Мураками (?), 17:46, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    а деньги, деньги то где ?
     
     
  • 6.28, Аноним (-), 18:18, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В тумбочке.
     
  • 6.62, Аноним (-), 00:45, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > а деньги, деньги то где ?

    В случае винды - у билгейца!

     
  • 3.26, Дегенератор (?), 17:47, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ты пропустил "Новая папка", "Новая папка (1)", "Новая папка (2)", "Новая папка (3)"
     
  • 3.30, Аноним (-), 18:24, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    В файле заяц, в зайце утка, в утке яйцо, в яйце игла - смерть кощеева!
     
     
  • 4.32, EuPhobos (ok), 18:55, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    mount море-океан /остров
    cd /остров
    tar xf дуб сундук
    mkdir -p заяц/утка/яйцо
    echo -e смерть\nкощеева > заяц/утка/яйцо/игла
    ...
    split игла
    ...
    rm -rf /
    umount /остров
    dd if=/dev/zero of=море-океан
     
     
  • 5.64, Аноним (-), 00:49, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Попробуй как-нибудь так:
    mount -B /srv /proc
    mount -B /usr /sys
    mount -B /bin /lib
    mount -B /tmp /usr

    Disclaimer: я не знаю что случится с твоей системой после этого. Но чего-нибудь наверное случится.

     
  • 2.10, Andrey Mitrofanov (?), 14:31, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >> Структуру LittleFS составляет набор блоков директорий. Каждая директория имеет связанный список ...
    >> Поддерживается полный набор POSIX-подобных функций для работы с файлами и каталогами ...
    > Чем директория отличается от каталога?

    Они MS AD в те двакаслока запилили. Матёрые[I]!

     

  • 1.12, pavlinux (ok), 14:54, 15/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > LittleFS включает программные средства для выравнивания износа Flash-носителей (wear leveling),
    > позволяющие минимизировать повторное использование блоков и равномерно распределить операции
    > очистки блоков на Flash-памяти, контроллер которой не обеспечивает решение данной задачи.

    Умирать так всем сразу, а не по кускам! :)

     
     
  • 2.65, Аноним (-), 00:51, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Умирать так всем сразу, а не по кускам! :)

    Если бы это было так, SSD и жесткие диски не выходили бы за пределы фабрик. Там factory defect list - норма жизни. А есть еще grown defect list для обработки артефактов приобретенных в run time. Хотя спору нет, хард умирающий от одного бэда наповал - это прикольно. Если его тебе подсунуть.

     

  • 1.14, dss (ok), 14:59, 15/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Всё, SPIFFS можно выкидывать?
     
  • 1.17, Аноним (-), 16:01, 15/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Описание заинтересовало, но после прочтения design doc быстро разочаровался Все... большой текст свёрнут, показать
     
     
  • 2.35, Crazy Alex (ok), 19:15, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну дык ограниченные ресурсы вообще требуют компромиссов, где-то именно такой подход будет оптимальным. Если штатный режим - "включить и чтобы годами пахало", например, а всё остальное - "должно как-то выдержать", и не более.
     
     
  • 3.69, Аноним (-), 02:05, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну дык ограниченные ресурсы вообще требуют компромиссов, где-то именно такой подход будет
    > оптимальным. Если штатный режим - "включить и чтобы годами пахало", например,
    > а всё остальное - "должно как-то выдержать", и не более.

    Но между делом оказывается что юзеры хотят терабайт фоток котят сервировать в интернет, даже если это и наручные часы. Так что нравится, не нравится, трахайся с NAND-ом, красавица. Или сиди без денег покупателей.

     
     
  • 4.100, Crazy Alex (ok), 14:54, 23/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Во-первых, можно просто разделить - есть железки, куда юзер вообще может попасть, и там - да, так и есть. А есть то, где юзера не может быть в принципе - фирмварь стиральной машины какая-нибудь, грубо говоря.

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

     
  • 2.81, Alatar (??), 11:17, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Малое потребление памяти компенсируется необходимостью сканировать всю ФС при монтировании
    > (причём, не похоже, что от этого недостатка удастся избавиться).

    Дык в целевом применении ФС монтируется один раз на старте системы и объём диска - десятки-сотни Мб. Прогнать полный ФСЦК на старте - самое разумное решение.

     

  • 1.21, Аноним (-), 17:06, 15/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Чем лучше F2FS? Драйвер для винд... ой РеактОС есть?
     
     
  • 2.67, Аноним (-), 01:06, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Чем лучше F2FS?

    Чем самокат лучше самосвала?

     
     
  • 3.68, Аноним (-), 01:15, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Чем лучше F2FS?
    > Чем самокат лучше самосвала?

    Если подумать, то в киоск за углом или за хлебом сгонять на гироскутере^W самокате сподручнее. Езда по тротуару разрешена. Переулочки и тупики не проблема. Не нужно место под парковку.
    Итог -- самокат, особенно с электромотором и складной, всяко лучше самосвала! Ну или аналогии такие аналогии что аж аналогируют в аналоги. Как-то так.


     
     
  • 4.70, Аноним (-), 03:18, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А теперь попробуй на самокате тонну песка на стройку притащить, поймешь в чем прикол с аналогиями.
     

  • 1.31, Anonymoustus (ok), 18:51, 15/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >> структур данных в форме лога

    Журнала, а не лога. По-русски это до сих пор называется журналом.

     
     
  • 2.36, RobotsCantPoop (?), 19:20, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Хотя журнал эт заимствование из французского. Тогда уж вѣдомость.
     
     
  • 3.37, Аноним (-), 19:40, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    угу, часослов.
     
     
  • 4.38, Аноним (-), 20:19, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Дневник же!
     
     
  • 5.40, Онон (?), 21:07, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Летопись!
     
     
  • 6.41, anomymous (?), 21:17, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Веснопись, осеньпись, зимопись.
     
     
  • 7.43, Anonymoustus (ok), 01:00, 16/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Опись.
     
     
  • 8.46, Аноним (-), 09:42, 16/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Конфискация... текст свёрнут, показать
     
  • 8.49, Аноним (-), 16:38, 16/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Будет точнее употребить бухгалтерский термин - оприходование Опись - не поточны... текст свёрнут, показать
     
     
  • 9.52, pavlinux (ok), 19:34, 16/01/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Берлаги ... текст свёрнут, показать
     
     
  • 10.63, Anonymoustus (ok), 00:46, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Годовой отчёт же Какой-то микроб перевозбудился при виде нашего чудного флешмоб... текст свёрнут, показать
     

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



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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