LZO

LZO
Tipo de algoritmo de compresión [d]
Autor Markus Oberheimer
Sistema operativo multiplataforma
Idiomas de la interfaz inglés
Primera edición 1997
ultima versión 2.10 (1 de marzo de 2017)
Licencia GPLv2
Sitio web www.oberhumer.com/opensource…

LZO (abreviatura de Lempel-Ziv-Oberhumer  - Lempel-Ziv-Oberheimer) es un algoritmo de compresión de datos diseñado para lograr la máxima velocidad de descompresión a mediados de la década de 1990. El algoritmo comprime datos sin pérdida y su implementación base admite la ejecución de subprocesos múltiples.

Un programa gratuito que implementa LZO es lzop . La biblioteca original fue escrita en ANSI C y está disponible bajo la licencia GPL . También hay implementaciones de LZO en Assembly ( x86 ), Perl , Python , Java y .NET . Código escrito por Markus Oberheimer ( Markus FXJ Oberhumer )

La biblioteca LZO implementa varios algoritmos con las siguientes características.

La alta velocidad del algoritmo permite que se integre en varios sistemas de alto rendimiento, por ejemplo, en DBMS [1] , sistemas de procesamiento de datos [2] [3] , sistemas de archivos [4] [5] , para desempaquetar kernels de SO en el arranque [6] (incluidos los dispositivos Android de Samsung), sistemas de memoria comprimida [7] [8] . Usado en varios planetas [9] .

El algoritmo es uno de los de descompresión más rápidos junto con el método LZ4 (LZ4 HC) creado sobre esta base, así como una serie de otros algoritmos de compresión: Snappy , FastLZ , LZF [6] .

Entre las deficiencias, se destaca la falta de una especificación única para el formato de flujo comprimido [10] . Hubo un error de desbordamiento de enteros en el código de descompresión original antes de 2014. El uso generalizado del algoritmo ha llevado a la vulnerabilidad potencial de muchos proyectos [9] [11] [12] .

Véase también

Notas

  1. Codificación LZO: Amazon Redshift . Consultado el 31 de octubre de 2016. Archivado desde el original el 24 de noviembre de 2016.
  2. Parallel LZO: Compresión divisible para Apache Hadoop - Blog de ingeniería de Cloudera (enlace descendente) . Consultado el 31 de octubre de 2016. Archivado desde el original el 1 de noviembre de 2016. 
  3. Una guía para usar la compresión LZO en Hadoop
  4. Rendimiento de compresión Btrfs LZO - Phoronix . Consultado el 31 de octubre de 2016. Archivado desde el original el 14 de abril de 2016.
  5. Wiki de compresión-btrfs . Consultado el 31 de octubre de 2016. Archivado desde el original el 12 de junio de 2017.
  6. 1 2 Copia archivada (enlace no disponible) . Consultado el 31 de octubre de 2016. Archivado desde el original el 6 de marzo de 2016. 
  7. Copia archivada . Consultado el 31 de octubre de 2016. Archivado desde el original el 22 de marzo de 2016.
  8. Compresión de memoria en el núcleo Archivado el 9 de octubre de 2021 en Wayback Machine , LWN.net
  9. 1 2 Raising Lazarus - The 20 Year Old Bug that Went to Mars Archivado el 22 de octubre de 2016 en el blog de investigación Wayback Machine / The Lab Mouse Security. "El algoritmo LZO ha ido al planeta Marte en dispositivos de la NASA varias veces"
  10. Formato de transmisión LZO tal como lo entiende el descompresor LZO de Linux Archivado el 9 de junio de 2016 en Wayback Machine , Documentación del kernel de Linux  ,
  11. Vulnerabilidad de seguridad de larga data encontrada en el algoritmo de compresión LZO | securityweek.com . Consultado el 31 de octubre de 2016. Archivado desde el original el 1 de noviembre de 2016.
  12. Vulnerabilidad de veinte años en LZO finalmente parcheada Archivado el 1 de noviembre de 2016 en Wayback Machine / CSO Online

Enlaces