{"id":120974,"date":"2024-12-13T15:46:01","date_gmt":"2024-12-13T13:46:01","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-otkazoustojchivoj-fajlovoj-sistemy-littlefs-2-10"},"modified":"2024-12-13T15:46:01","modified_gmt":"2024-12-13T13:46:01","slug":"vypusk-otkazoustojchivoj-fajlovoj-sistemy-littlefs-2-10","status":"publish","type":"post","link":"https:\/\/prohoster.info\/da\/blog\/news\/vypusk-otkazoustojchivoj-fajlovoj-sistemy-littlefs-2-10","title":{"rendered":"Udgivelsen af den fejltolerante filsystem LittleFS 2.10.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Udgivet er version 2.10 af LittleFS-projektet, der udvikler et kompakt filsystem til indlejrede enheder og mikrokontrollere. Oprindeligt blev filsystemet lavet af ARM til operativsystemet Mbed OS, men blev senere adskilt som et selvst\u00e6ndigt projekt. Filsystemets kode er skrevet i C og distribueres under BSD-licensen. Den referenceimplementation af LittleFS leveres som et C-bibliotek, som der er bygget et FUSE-modul og bindings til forskellige programmeringssprog ovenp\u00e5.     <\/p>\n<p>Funktioner ved LittleFS:  <\/p>\n<ul>\n<li class=\"l\"> Lav ressourcetr\u00e6k og underst\u00f8ttelse til drift under begr\u00e6nset RAM-st\u00f8rrelse. I implementationen af LittleFS anvendes kun statisk definerede buffere (uden dynamisk hukommelsesallokering) og der anvendes ikke rekursive kald, hvilket sikrer, at den forbrugte RAM og de hj\u00e6lpestruktur der anvendes af LittleFS p\u00e5 lagermediet altid forbliver konstant, uanset hvad der skrives til filsystemet og hvilken st\u00f8rrelse lageret har.\n<li class=\"l\"> V\u00e6rkt\u00f8jer til slidudj\u00e6vning af Flash-lagringsenheder, der muligg\u00f8r minimal genbrug af blokke og j\u00e6vnt fordeler blokrensningsoperationer p\u00e5 Flash-hukommelsen, hvis controller ikke tilbyder en l\u00f8sning p\u00e5 denne opgave.\n<li class=\"l\"> Meget h\u00f8j fejlresistens \u2014 FS betragter en uventet nedlukning (afbrydelse af str\u00f8m) som en normal situation og garanterer, at lageret p\u00e5 disken altid er intakt. For at undg\u00e5 kompromittering af integritet og datatab anvendes mekanismen copy-on-write (COW), hvor \u00e6ndringer ikke overskriver informationen, men gemmes et nyt sted.\n<li class=\"l\"> Atomicitet ved udf\u00f8relse af operationer s\u00e5som sletning og omd\u00f8bning, selv i tilf\u00e6lde af str\u00f8mafbrydelse under udf\u00f8relsen. \u00c6ndringer i filer skrives kun til disk efter kald af sync eller close. Uoverensstemmelser for\u00e5rsaget af operationer, der ikke kan udf\u00f8res atomisk, l\u00f8ses med en speciel deorphan-h\u00e5ndterer, der gennemg\u00e5r hele filsystemets tr\u00e6 efter indl\u00e6sning.\n<li class=\"l\"> Underst\u00f8ttelse af POSIX-lignende funktioner til arbejde med filer og mapper.  <\/ul>\n<p>Indholdet af filer i LittleFS pr\u00e6senteres som COW-lister CTZ, der sikrer en kompleksitetsgrad p\u00e5 O(1) ved tilf\u00f8jelse og O(nlogn) ved l\u00e6sning. Tildeling af blokke sker ved at scanne FS for brugte blokke i et omr\u00e5de af fast st\u00f8rrelse, gemt som en bitvektor. For at forenkle scanning er alle kataloger en del af en sammenk\u00e6det liste, der d\u00e6kker hele filsystemet. Hvis der opst\u00e5r en fejl ved skrivning af en blok, tildeles en ny blok, og dataene flyttes til den.     <\/p>\n<p>Blandt \u00e6ndringerne i den nye version af LittleFS:  <\/p>\n<ul>\n<li class=\"l\"> Koden til parsing af filstier er blevet redesignet, hvilket har gjort adf\u00e6rden af FS t\u00e6ttere p\u00e5 POSIX-systemer og brugernes forventninger i tilf\u00e6lde som afslutning af stien med skr\u00e5streg, behandling af tomme stier og navigation uden for rod-FS.\n<li class=\"l\"> To nye eksempler p\u00e5 blokkeringsenheder, ramcrc32bd og ramrsbd, er blevet tilf\u00f8jet, hvor mekanismen til fejlkorrigering, der er kompatibel med LittleFS, er implementeret. I sin nuv\u00e6rende form mangler LittleFS st\u00f8tte til fejldetektion og -korrektion, og disse operationer er flyttet til niveauet for blokkeringsenheder.\n<li class=\"l\"> Funktionen lfs_mkdir har f\u00e5et tilf\u00f8jet support til afsluttende skr\u00e5streger, dvs. kaldet lfs_mkdir(&#171;a\/&#187;) f\u00f8rer nu ikke til en fejl.\n<li class=\"l\"> Funktionerne lfs_stat og lfs_getattr viser nu en fejl ved brug af afsluttende skr\u00e5streger, hvis den eksisterende sti i FS ikke er et katalog.\n<li class=\"l\"> Fors\u00f8g p\u00e5 at \u00e5bne en fil gennem funktionen lfs_file_open med en afsluttende skr\u00e5streg i navnet vil nu f\u00f8re til fejlen LFS_ERR_NOTDIR, hvis filen ikke er et katalog i FS, LFS_ERR_ISDIR, hvis navnet henviser til et katalog i FS, og LFS_O_CREAT, hvis filen ikke eksisterer.\n<li class=\"l\"> Fors\u00f8g p\u00e5 at tilg\u00e5 uden for rodkataloget, f.eks. lfs_stat(&#171;\/....\/a&#187;), vil nu resultere i en fejl.\n<li class=\"l\"> Angivelse af en tom sti er nu ikke l\u00e6ngere synonymt med at tilg\u00e5 rodkataloget, dvs. kaldet lfs_stat(&#171;&#187;) vil f\u00f8re til en fejl.    <\/ul>\n<p>Kilde: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=62398\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 LittleFS 2.10, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u0443\u044e \u0444\u0430\u0439\u043b\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0434\u043b\u044f \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0438 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432. \u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0444\u0430\u0439\u043b\u043e\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0431\u044b\u043b\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0435\u0439 ARM \u0434\u043b\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b Mbed OS, \u043d\u043e \u0437\u0430\u0442\u0435\u043c \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0430 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442. \u041a\u043e\u0434 \u0424\u0421 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0421\u0438 \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 BSD. \u042d\u0442\u0430\u043b\u043e\u043d\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f LittleFS \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u0432\u0438\u0434\u0435 \u0421\u0438-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u043d\u0430 \u0431\u0430\u0437\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0441\u043e\u0437\u0434\u0430\u043d FUSE-\u043c\u043e\u0434\u0443\u043b\u044c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-120974","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 LittleFS 2.10, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u0443\u044e \u0444\u0430\u0439\u043b\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0434\u043b\u044f \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0438 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/da\/blog\/news\/vypusk-otkazoustojchivoj-fajlovoj-sistemy-littlefs-2-10\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0439 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b LittleFS 2.10 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 LittleFS 2.10, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u0443\u044e \u0444\u0430\u0439\u043b\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0434\u043b\u044f \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0438 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/da\/blog\/news\/vypusk-otkazoustojchivoj-fajlovoj-sistemy-littlefs-2-10\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-12-13T13:46:01+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-12-13T13:46:01+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Udgivelse af den fejltolerante filsystem LittleFS 2.10 | ProHoster","description":"Udgivelsen af projektet LittleFS 2.10 er offentliggjort, som udvikler et kompakt filsystem for indlejrede enheder og mikrokontrollere.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/news\/vypusk-otkazoustojchivoj-fajlovoj-sistemy-littlefs-2-10","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0439 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b LittleFS 2.10 | ProHoster","og:description":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 LittleFS 2.10, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u0443\u044e \u0444\u0430\u0439\u043b\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0434\u043b\u044f \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0438 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432.","og:url":"https:\/\/prohoster.info\/da\/blog\/news\/vypusk-otkazoustojchivoj-fajlovoj-sistemy-littlefs-2-10","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2024-12-13T13:46:01+00:00","article:modified_time":"2024-12-13T13:46:01+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"120974","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 08:53:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 08:53:19","updated":"2026-01-23 08:53:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/120974","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=120974"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/120974\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=120974"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=120974"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=120974"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}