Archivátory jsou programy, které mohou komprimovat informace v souborech. Moderní archivátory umožňují kombinovat několik souborů do jednoho archivu a prohlížet si obsah těchto archivů. Ukázalo se, že velikost archivu vytvořeného s jejich pomocí je mnohem menší než velikost původního souboru.
Instrukce
Krok 1
Obecný princip činnosti většiny archivátorů je založen na algoritmu, který vyvinuli vědci A. Lampel a J. Ziv v 80. letech minulého století. Algoritmus vytvořený Zivem a Lampelem umožňuje vypočítat duplicitní kód v souboru a zmenšit tak jeho velikost. Za tímto účelem je slovník sestaven z datových sekvencí. Například binární kód souboru obsahuje následující kombinaci: 10111011101110110011. Je snadné vidět, že se v něm kód 1011 několikrát opakuje. Archivátor detekuje takový kód a zapíše jej do archivu pouze jednou a při jeho rozbalení kód znovu nahradí na nezbytných místech v souboru.
Krok 2
Jak dobře archivátor soubor zkomprimuje, závisí na velikosti zdrojového slovníku. Pokud je slovník příliš velký, ovlivní to velikost archivu. Pokud je velikost slovníku příliš malá, může ve vytvořeném archivu dojít k chybám. Kompresní poměr souboru můžete zvýšit pomocí entropického kódování (tzv. Huffmanova metoda). Při entropickém kódování se opakující binární bloky zapisují pomocí krátkého kódu. V moderních archivátorech se entropické kódování používá jako další metoda kódování.
Krok 3
Na unixových systémech je gzip nejoblíbenější archivátor. Tento archivátor bezztrátově komprimuje data a je založen na algoritmu Deflate. Komprese souborů zde probíhá dvěma způsoby - nejprve se nahradí duplicitní části kódu a poté se znaky v nich nahradí novými znaky pomocí Huffmanovy metody. Archivátory pro systémy Unix mají řadu nevýhod. Jsou primárně zaměřeny na archivy skládající se z mnoha souborů, takže rozbalení jednoho souboru je obtížné. Důvodem je, že unixoví archivátoři prohlížejí archiv jako souvislou řadu všech souborů v něm uložených. Archiv je tvořen na základě informací obsažených v každém souboru.
Krok 4
V systémech Windows jsou běžné archivátory jako WinZip, 7-zip a WinRAR. Na rozdíl od unixových systémů jsou tyto archivátory zaměřeny na práci jak s jednotlivými soubory, tak s nepřetržitými archivy skládajícími se z mnoha souborů. Většina moderních archivátorů Windows „rozumí“mnoha formátům archivů, podporuje šifrování a dokáže komprimovat i velmi velké soubory (například maximální velikost souboru pro archivátor WinRAR je více než osm miliard gigabajtů).