Archivador de ficheros
Un archivador de ficheros es un programa informático, que combina un número de ficheros en un único fichero archivo, o una serie de ficheros archivo, para un transporte o almacenamiento más fácil. Muchos archivadores de ficheros pueden realizar compresión sin pérdida de datos para reducir el tamaño del fichero archivo. Esta compresión se logra mediante una serie de algoritmos que permiten que los datos contenidos en un fichero ocupen menos tamaño sin que se pierda la información.
La mayoría de los archivadores básicos simplemente toman una lista de ficheros y concatenan su contenido secuencialmente en el archivo. Además el archivo debe contener también alguna información sobre al menos los nombres y longitudes de los originales, para que sea posible una buena reconstrucción. La mayoría de los archivadores también almacenan los metadatos de los fichero que proporciona el sistema operativo, como marcas temporales, propietario y control de acceso.
El proceso de creación de un fichero archivo se llama archivado o empaquetado. La reconstrucción de los ficheros originales a partir del archivo se denominar desarchivado, desempaquetamiento o extracción.
Formatos de archivo populares
Ubicuo entre los sistemas operativos Unix y de tipo Unix está el formato de fichero tar ( tape archive). Originalmente pensado para transferir ficheros a y desde cinta, todavía se usa en almacenamiento basado en discos para combinar ficheros antes de comprimirlos. Otros formatos originados en Unix son ar y shar.
En las plataformas Windows, el formato de archivo usado más ampliamente es el ZIP; otros formatos populares son RAR, ACE y ARJ. En Amiga OS, el formato de archivo estándar es LHA, mientras que en computadoras Apple Macintosh, Stuffit está entre los más comunes.
Unix
A diferencia de las herramientas integradas de archivo y compresión como ZIP y RAR, las herramientas de Unix ar, tar, cpio (que significan "archiver", "tape archiver" y "copy in/out" respectivamente) actúan como archivadores pero no como compresores. Los usuarios de las herramientas Unix normalmente añaden compresión comprimiendo el resultado del empaquetamiento (y descomprimiendo antes de desempaquetar), la mayoría de las veces con los programas gzip o bzip2. De hecho los programas tar modernos incluyen una opción para llamar automáticamente un programa de (de)compresión, de modo que parece como si el propio tar que pudiera manejar archivos comprimidos. Este enfoque tiene dos ventajas:
- Sigue el concepto de las herramientas Unix de que cada programa debería realizar una única tarea pero hacerla bien. Una vez que se desarrolla un mejor compresor, los usuarios pueden empezar a usar inmediatamente, sin tener que abandonar su archivador.
- Como todo el archivo está comprimido, la redundancia entre ficheros archivados puede ser detectada y eliminada. Un archivado que comprima cada fichero archivado aisladamente no puede aprovechar estas redundancias entre ficheros.
Su principal desventaja es que extraer un fichero de un archivo comprimido requiere descomprimir todos los ficheros que haya antes de él, lo que puede tomar muchos minutos con un archivo muy grande. Alterar el archivo subyacente es todavía más incómodo, pues requiere descomprimir todo el fichero, alterarlo y después recomprimirlo. Los archivadores con compresión integrada realizan estas operaciones mucho más rápidamente.