Sistema de archivos
EROFS ( Enhanced Read-Only File System ) es un sistema de archivos liviano de solo lectura desarrollado inicialmente por Huawei , originalmente para el kernel de Linux y ahora mantenido por una comunidad de código abierto de todo el mundo.
EROFS tiene como objetivo formar una solución genérica de sistema de archivos de solo lectura para varios casos de uso de solo lectura (dispositivos integrados, contenedores y más) en lugar de solo centrarse en el ahorro de espacio de almacenamiento sin considerar los efectos secundarios del rendimiento en tiempo de ejecución. [1]
Por ejemplo, proporciona una solución para ahorrar espacio de almacenamiento mediante el uso de compresión transparente como una opción para escenarios que necesitan requisitos de solo lectura de alto rendimiento en sus dispositivos con recursos de hardware limitados, por ejemplo, teléfonos inteligentes como Android y sistemas operativos IoT como HarmonyOS junto con su iteración del sistema central HarmonyOS NEXT . [2] [3]
Todos los nuevos productos de Huawei enviados con EMUI 9.0.1 o posterior usaban EROFS, [4] y se promocionó como una de las características clave de EMUI 9.1. [5] Oppo , Xiaomi y algunos productos de Samsung también usan EROFS. [6] [7]
Además, proporciona una solución de imagen de contenedor basada en fragmentos direccionables por contenido junto con una función de extracción diferida para acelerar la velocidad de inicio del contenedor mediante el uso del nuevo backend fscache basado en archivos desde el kernel de Linux v5.19. [8]
El sistema de archivos se fusionó formalmente con el kernel principal con el kernel Linux v5.4. [9]
Características
El sistema de archivos tiene dos diseños de inodos en el disco diferentes: uno es compacto y el otro es extendido. [1]
- Diseño en disco con orden little-endian [1]
- Direccionamiento de bloques de 32 bits, que actualmente limita la capacidad total posible de un sistema de archivos EROFS a 16 TiB de tamaño de bloque de 4 KiB. [1]
- Los metadatos y los datos se pueden combinar por diseño para lograr flexibilidad en el disco junto con la tecnología de datos en línea con empaquetamiento de cola [1]
- Admite atributos y permisos POSIX , atributos de archivo extendidos y ACL [1]
- Compresión transparente de salida de tamaño fijo con LZ4 , Micro LZMA (desde Linux 5.16 [10] ) y/o DEFLATE (desde Linux 6.6 [11] ) para relaciones de compresión relativamente más altas [1]
- Descompresión in situ para una lectura secuencial más alta [12] [13]
- Función de clúster grande que permite clústeres grandes de hasta 1 MiB para lograr mejores índices de compresión desde Linux 5.13. [14] [15]
- Soporte para E/S directa, acceso directo (DAX), deduplicación de datos basada en fragmentos para archivos sin comprimir desde Linux 5.15. [1] [16]
- Compatibilidad con múltiples dispositivos para imágenes de contenedores de múltiples capas desde Linux 5.16. [1]
- Soporte de Ztailpacking desde Linux 5.17. [17]
- Compatibilidad con backend Fscache basado en archivos desde Linux 5.19 con "modo a pedido". [18] [19]
- Compatibilidad con compresión de datos deduplicados mediante hash continuo y fragmentos desde Linux 6.1. [1]
Véase también
Referencias
- ^ abcdefghijklm Gao Xiang. "erofs.html". www.kernel.org . Consultado el 4 de agosto de 2022 .
- ^ Michael Larabel (19 de noviembre de 2018). "Por fin existe una utilidad de espacio de usuario para crear sistemas de archivos EROFS en Linux". Phoronix . Consultado el 13 de diciembre de 2018 .
- ^ Xiang, Gao (31 de mayo de 2018). "erofs: introduce el sistema de archivos erofs". Kernel de Linux (Lista de correo) . Consultado el 13 de diciembre de 2018 .
- ^ Xiang, Gao (4 de julio de 2019). "erofs: promover erofs desde staging". Kernel de Linux (Lista de correo) . Consultado el 3 de septiembre de 2019 .
- ^ "EMUI 9.1, el sistema operativo inteligente de Android". HUAWEI Global . Huawei Technologies . Consultado el 10 de enero de 2022 .
- ^ "El plan de Google para utilizar EROFS en Android". 20 de mayo de 2022. Consultado el 4 de agosto de 2022 .
- ^ "El Galaxy S23 podría ser el primer dispositivo Android de Samsung en utilizar EROFS". 2023-02-07 . Consultado el 2023-07-22 .
- ^ "La evolución de la aceleración de imágenes de Nydus". 6 de junio de 2022. Consultado el 4 de agosto de 2022 .
- ^ corbet (25 de noviembre de 2019). "Se ha publicado el kernel 5.4". LWN.net . Consultado el 1 de diciembre de 2019 .
- ^ Michael Larabel. "El sistema de archivos EROFS incorpora compatibilidad con compresión LZMA a través del nuevo MicroLZMA". Phoronix . Consultado el 10 de enero de 2022 .
- ^ Michael Larabel. "El sistema de archivos EROFS incorpora compatibilidad con la compresión DEFLATE". Phoronix . Consultado el 3 de septiembre de 2023 .
- ^ "puesta en escena: erofs: introducir la descompresión LZ4 en el lugar" . Consultado el 3 de diciembre de 2020 .
- ^ "staging: erofs: integra la descompresión in situ" . Consultado el 3 de diciembre de 2020 .
- ^ Michael Larabel. "EROFS envía soporte "Big Pcluster" para Linux 5.13 y otras mejoras". Phoronix . Consultado el 11 de julio de 2021 .
- ^ "erofs: agrega compatibilidad con compresión de clústeres grandes" . Consultado el 11 de julio de 2021 .
- ^ Michael Larabel. "Los sistemas de archivos XFS y EROFS tienen grandes cambios para Linux 5.15". Phoronix . Consultado el 2 de noviembre de 2021 .
- ^ "EROFS-Utils 1.5 lanzado con ZTailPacking, extracción FSCK" . Consultado el 4 de agosto de 2022 .
- ^ Jonathan Corbet. «Ventana de fusión 5.19, parte 1» . Consultado el 4 de agosto de 2022 .
- ^ Marius Nestor (31 de julio de 2022). "Lanzamiento oficial del kernel de Linux 5.19, Linus Torvalds anuncia Linux 6.0 como la próxima serie de kernels" . Consultado el 4 de agosto de 2022 .
Enlaces externos
- Sitio web oficial
- Repositorio del kernel de Linux EROFS : git.kernel.org
- erofs-utils - git.kernel.org
- ATC '19 - EROFS: Un sistema de archivos de solo lectura compatible con la compresión para dispositivos con recursos escasos
- Introducción a EROFS - LWN.net
- EROFS, una introducción y nuestra práctica con smartphones en YouTube
- EROFS vs. SquashFS: una comparación sencilla - blog.sigma-star.at
- Cómo encontrar el mejor sistema de archivos de bloques para su sistema Linux integrado - Michael Opdenacker, Bootlin en YouTube