{"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\/es\/blog\/news\/vypusk-otkazoustojchivoj-fajlovoj-sistemy-littlefs-2-10","title":{"rendered":"Lanzamiento del sistema de archivos tolerante a fallos LittleFS 2.10","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Se ha publicado la versi\u00f3n 2.10 del proyecto LittleFS, que desarrolla un sistema de archivos compacto para dispositivos embebidos y microcontroladores. Inicialmente, el sistema de archivos fue creado por la empresa ARM para el sistema operativo Mbed OS, pero luego se separ\u00f3 en un proyecto independiente. El c\u00f3digo del sistema de archivos est\u00e1 escrito en C y se distribuye bajo la licencia BSD. La implementaci\u00f3n de referencia de LittleFS se proporciona en forma de biblioteca en C, sobre la cual se ha creado un m\u00f3dulo FUSE y bindings para varios lenguajes de programaci\u00f3n.     <\/p>\n<p>Caracter\u00edsticas de LittleFS:  <\/p>\n<ul>\n<li class=\"l\"> Bajos requisitos de recursos y soporte para operar en condiciones de tama\u00f1o limitado de RAM. En la implementaci\u00f3n de LittleFS se utilizan \u00fanicamente buffers definidos est\u00e1ticamente (sin asignaci\u00f3n din\u00e1mica de memoria) y no se utilizan llamadas recursivas, lo que garantiza que el tama\u00f1o de la memoria operativa y las estructuras de servicio de LittleFS en el almacenamiento permanezcan constantes, independientemente de lo que se grabe en el sistema de archivos y del tama\u00f1o del almacenamiento.\n<li class=\"l\"> Herramientas para el alineamiento del desgaste de los dispositivos Flash (wear leveling), que permiten minimizar la reutilizaci\u00f3n de bloques y distribuir uniformemente las operaciones de limpieza de bloques en la memoria Flash, cuyo controlador no proporciona una soluci\u00f3n a esta tarea.\n<li class=\"l\"> Alta resistencia a fallos: el sistema considera la interrupci\u00f3n aleatoria (finalizaci\u00f3n debida a un corte de energ\u00eda) como una situaci\u00f3n normal y garantiza la integridad del almacenamiento en disco en todo momento. Para evitar la corrupci\u00f3n de datos y la p\u00e9rdida de informaci\u00f3n, se utiliza el mecanismo copy-on-write (COW), que guarda los cambios en una nueva ubicaci\u00f3n en lugar de sobrescribir la informaci\u00f3n.\n<li class=\"l\"> Atomicidad en la realizaci\u00f3n de operaciones, como eliminaci\u00f3n y renombrado, incluso en caso de p\u00e9rdida de energ\u00eda durante su ejecuci\u00f3n. Los cambios en el archivo se escriben en el disco solo despu\u00e9s de llamar a sync o close. Las inconsistencias causadas por operaciones que no pueden realizarse de manera at\u00f3mica se resuelven mediante un manejador especial de deorphan, que recorre todo el \u00e1rbol del sistema de archivos despu\u00e9s del arranque.\n<li class=\"l\"> Soporte para funciones similares a POSIX para trabajar con archivos y directorios.  <\/ul>\n<p>El contenido de los archivos en LittleFS se presenta en listas COW CTZ, lo que proporciona un nivel de complejidad O(1) al a\u00f1adir y O(nlogn) al leer. La asignaci\u00f3n de bloques se realiza a trav\u00e9s del escaneo del FS en busca de bloques utilizados en una \u00e1rea de tama\u00f1o fijo, que se almacena en forma de un vector de bits. Para simplificar el escaneo, todos los directorios son parte de una lista vinculada que abarca todo el sistema de archivos. Si se determina un error al escribir un bloque, se asigna un nuevo bloque y se transfieren los datos a este.     <\/p>\n<p>Entre los cambios en la nueva versi\u00f3n de LittleFS:  <\/p>\n<ul>\n<li class=\"l\"> Se ha reestructurado el c\u00f3digo de an\u00e1lisis de rutas de archivos, lo que ha permitido hacer que el comportamiento del FS se asemeje m\u00e1s al de los sistemas POSIX y a las expectativas de los usuarios en situaciones como la finalizaci\u00f3n de la ruta con una barra, el manejo de rutas vac\u00edas y la navegaci\u00f3n fuera de la ra\u00edz del FS.\n<li class=\"l\"> Se han a\u00f1adido dos nuevos ejemplos de dispositivos de bloques ramcrc32bd y ramrsbd, en los que se ha implementado un mecanismo de correcci\u00f3n de errores compatible con LittleFS. Actualmente, el propio FS de LittleFS no soporta la detecci\u00f3n y correcci\u00f3n de errores, y estas operaciones se trasladan al nivel de los dispositivos de bloques.\n<li class=\"l\"> La funci\u00f3n lfs_mkdir ha a\u00f1adido soporte para las barras finales, es decir, la llamada lfs_mkdir(&#171;a\/&#187;) ya no dar\u00e1 lugar a un error.\n<li class=\"l\"> En las funciones lfs_stat y lfs_getattr ahora se muestra un error cuando se utilizan barras finales si la ruta existente en el FS no es un directorio.\n<li class=\"l\"> Intentar abrir un archivo con una barra final en el nombre a trav\u00e9s de la funci\u00f3n lfs_file_open ahora dar\u00e1 como resultado el error LFS_ERR_NOTDIR si el archivo no es un directorio en el FS, LFS_ERR_ISDIR si el nombre se refiere a un directorio en el FS, y LFS_O_CREAT si el archivo no existe.\n<li class=\"l\"> Intentar acceder fuera del sistema de archivos ra\u00edz, por ejemplo, lfs_stat(&#171;\/.. \/a&#187;), ahora resultar\u00e1 en un error.\n<li class=\"l\"> Especificar una ruta vac\u00eda ya no es un sin\u00f3nimo de acceder al directorio ra\u00edz, es decir, la llamada lfs_stat(&#171;&#187;) generar\u00e1 un error.    <\/ul>\n<p>Fuente: <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.2 - 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\/es\/blog\/news\/vypusk-otkazoustojchivoj-fajlovoj-sistemy-littlefs-2-10\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\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\/es\/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\udd47Lanzamiento del sistema de archivos tolerante a fallos LittleFS 2.10 | ProHoster","description":"Se ha publicado la versi\u00f3n 2.10 del proyecto LittleFS, que desarrolla un sistema de archivos compacto para dispositivos embebidos y microcontroladores.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/news\/vypusk-otkazoustojchivoj-fajlovoj-sistemy-littlefs-2-10","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","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\/es\/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\/es\/wp-json\/wp\/v2\/posts\/120974","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=120974"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/120974\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=120974"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=120974"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=120974"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}