|
Èñòîðèÿ ðàçâèòèÿ òåîðèè ñæàòèÿ èíôîðìàöèè
Èñòîðèÿ ðàçâèòèÿ MS DOS âåñüìà ïîõîæà íà èñòîðèþ ðàçâèòèÿ âñåõ èíôîðìàöèîííûõ òåõíîëîãèé. Áîëåå òîãî, êîíöåïöèÿ MS DOS íåïîñðåäñòâåííî çàèìñòâîâàíà èç îïåðàöèîííîé ñèñòåìû UNIX. UNIX, â ñâîþ î÷åðåäü, áàçèðóåòñÿ íà ñàìûõ ïåðâûõ îïåðàöèîííûõ ñèñòåìàõ òèïà OS/360 è äàæå IBM704. Îñíîâíûå àëãîðèòìû àðõèâàöèè äàííûõ âíà÷àëå áûëè îïðîáîâàíû íà UNIX, à çàòåì (èíîãäà ïðîöåññ ðàçâèòèÿ òåõ èëè èíûõ àëãîðèòìîâ îñóùåñòâëÿëñÿ ïàðàëëåëüíî) â MS DOS.  ïðèíöèïå, áîëüøèíñòâî èñïîëüçóåìûõ â íàñòîÿùåå âðåìÿ óòèëèò äëÿ àðõèâàöèè íà÷àëè ñâîþ æèçíü íà÷èíàÿ ñ MS DOS 2.0.
Èòàê, â ñîðîêîâûõ ãîäàõ ó÷åíûå, ðàáîòàþùèå â îáëàñòè èíôîðìàöèîííûõ òåõíîëîãèé, ÿñíî ïîíÿëè, ÷òî ìîæíî ðàçðàáîòàòü òàêîé ñïîñîá õðàíåíèÿ äàííûõ, ïðè êîòîðîì ïðîñòðàíñòâî áóäåò ðàñõîäîâàòüñÿ áîëåå ýêîíîìíî. Êëîä Øåííîí, èçó÷àÿ íþàíñû ðàçëè÷èé ìåæäó ñåìàíòèêîé (semantics) (÷òî íåêàÿ ñóùíîñòü çíà÷èò) è ñèíòàêñèñîì (syntax) (êàê íåêàÿ ñóùíîñòü âûðàæàåòñÿ), ðàçðàáîòàë áîëüøèíñòâî áàçîâûõ ïîíÿòèé ýòîé òåîðèè. Ïîíèìàíèå òîãî, ÷òî îäíî è òî æå çíà÷åíèå (ñåìàíòèêà) ìîæåò áûòü ðåàëèçîâàíî ðàçëè÷íûìè ñïîñîáàìè (ñèíòàêñèñ), ïðèâîäèò ê çàêîíîìåðíîìó âîïðîñó: "Êàêîé ñïîñîá âûðàæåíèÿ ÷åãî-ëèáî ÿâëÿåòñÿ íàèáîëåå ýêîíîìè÷íûì?" Ïîèñê îòâåòà íà ýòîò âîïðîñ ïðèâåë Øåííîíà ê ìûñëè îá ýíòðîïèè, êîòîðàÿ, ïðîùå ãîâîðÿ, ñîîòíîñèòñÿ ñ êîëè÷åñòâîì, ñîäåðæàùåéñÿ â ôàéëå ïîëåçíîé èíôîðìàöèè. Ìåòîäû ñæàòèÿ ïûòàþòñÿ óâåëè÷èâàòü ýíòðîïèþ ôàéëà, òî åñòü óìåíüøàòü äëèíó ôàéëà, ñîõðàíÿÿ ïðè ýòîì âñþ èíôîðìàöèþ.
Îäíàêî, Øåííîí íå áûë ïåðâûì, êòî çàäóìûâàëñÿ î ñóùíîñòè èíôîðìàöèè è îïðåäåëåíèè åå êîëè÷åñòâà. Ïåðâûé øàã íà ýòîì ïóòè ñäåëàë â 1928 ã. Õàðòëè. Îñíîâíîé ïîëó÷åííûé èì ðåçóëüòàò ìîæíî ñôîðìóëèðîâàòü ïðèìåðíî òàê: åñëè â çàäàííîì ìíîæåñòâå, ñîäåðæàùåì N ýëåìåíòîâ, âûäåëåí íåêîòîðûé ýëåìåíò x, î êîòîðîì èçâåñòíî ëèøü, ÷òî îí ïðèíàäëåæèò ýòîìó ìíîæåñòâó, òî, ÷òîáû íàéòè x, íåîáõîäèìî ïîëó÷èòü êîëè÷åñòâî èíôîðìàöèè, ðàâíîå log2 N. Ýòó ôîðìóëó îáû÷íî íàçûâàþò ôîðìóëîé Õàðòëè.
Ôîðìóëà Õàðòëè ÿâëÿåòñÿ ÷àñòíûì ñëó÷àåì áîëåå îáùåé ôîðìóëû Øåííîíà, ïîçâîëÿþùåé íàéòè êîëè÷åñòâî èíôîðìàöèè â ñëó÷àéíîì ñîîáùåíèè ôèêñèðîâàííîãî àëôàâèòà. Ïóñòü X1, ..., Xn - ñèìâîëû ýòîãî àëôàâèòà, P1, ..., Pn - âåðîÿòíîñòè èõ ïîÿâëåíèÿ â òåêñòå ñîîáùåíèÿ, òîãäà ôîðìóëà Øåííîíà ïðèíèìàåò âèä:
H = P1*log2(1 / P1) + ... + Pn*log2(1 / Pn),
ãäå H - êîëè÷åñòâî áèò èíôîðìàöèè â îäíîì ñèìâîëå ñîîáùåíèÿ, èëè ýíòðîïèÿ ñèìâîëà ñîîáùåíèÿ. Ýòî ÷èñëî ïîêàçûâàåò ìèíèìàëüíîå ñðåäíåå ÷èñëî áèò, íåîáõîäèìûõ äëÿ ïðåäñòàâëåíèÿ îäíîãî ñèìâîëà àëôàâèòà äàííîãî ñîîáùåíèÿ.
 íåêîòîðûõ ñëó÷àÿõ àëôàâèò ñîîáùåíèÿ ìîæåò áûòü íåèçâåñòåí, òîãäà âûäâèãàþòñÿ ãèïîòåçû îá àëôàâèòå ñîîáùåíèÿ. Èìåÿ ðàçíûå àëôàâèòû, ìîæíî äîñòè÷ü ðàçíûõ êîýôôèöèåíòîâ ñæàòèÿ. Íàïðèìåð, òåêñòîâûé ôàéë, åñëè åãî ðàññìàòðèâàòü êàê ïîñëåäîâàòåëüíîñòü áèòîâ, èìååò ýíòðîïèþ ïîðÿäêà 0.7 - 0.9, åñëè êàê ïîñëåäîâàòåëüíîñòü áàéòîâ, - 0.5 - 0.7, õîòÿ ïîïóëÿðíûå ïðîãðàììû ñæàòèÿ óìåíüøàþò ðàçìåðû òåêñòîâûõ ôàéëîâ äî 0.3 - 0.4 îò èñõîäíîãî ðàçìåðà.
Äîêàçàòåëüñòâî Øåííîíà íå áûëî êîíñòðóêòèâíûì, ò.å. íå ñîäåðæàëî ñïîñîáà ïîñòðîåíèÿ ýòèõ îïòèìàëüíûõ êîäîâ, à ëèøü ïîêàçûâàëî èõ ñóùåñòâîâàíèå. Äî ïîÿâëåíèÿ ðàáîòû Øåííîíà, êîäèðîâàíèå ñèìâîëîâ àëôàâèòà ïðè ïåðåäà÷å ñîîáùåíèÿ ïî êàíàëàì ñâÿçè îñóùåñòâëÿëîñü îäèíàêîâûì êîëè÷åñòâîì áèò, ïîëó÷àåìûì ïî ôîðìóëå Õàðòëè. Ñ ïîÿâëåíèåì ýòîé ðàáîòû íà÷àëè ïîÿâëÿòüñÿ ñïîñîáû, êîäèðóþùèå ñèìâîëû ðàçíûì ÷èñëîì áèò â çàâèñèìîñòè îò âåðîÿòíîñòè ïîÿâëåíèÿ èõ â òåêñòå. Íàïðèìåð, ÷àñòî â ôàéëàõ íåêîòîðûå çíà÷åíèÿ áàéòà âñòðå÷àþòñÿ ÷àùå äðóãèõ. Òàêèì îáðàçîì, çà ñ÷åò èñïîëüçîâàíèÿ äëÿ êàæäîãî çíà÷åíèÿ áàéòà êîäà ðàçëè÷íîé äëèíû ìîæíî çíà÷èòåëüíî óìåíüøèòü îáùèé ðàçìåð äàííûõ. Ýòà áàçîâàÿ èäåÿ ëåæèò â îñíîâå àëãîðèòìîâ ñæàòèÿ Øåííîíà-Ôàíî (Shannon-Fano) è Õàôôìàíà (Huffman). Ïîäîáíûå àëãîðèòìû âûáèðàþò áîëåå êîðîòêèå êîäû äëÿ ÷àñòî âñòðå÷àþùèõñÿ è áîëåå äëèííûå äëÿ ðåäêî âñòðå÷àþùèõñÿ çíà÷åíèé áàéòà. Îáû÷íî òåêñòîâûå ôàéëû (â êîòîðûõ îäíè çíà÷åíèÿ áàéòîâ ïîâòîðÿþòñÿ ãîðàçäî ÷àùå äðóãèõ) îíè ñæèìàþò äîâîëüíî õîðîøî.
Áîëåå òðèäöàòè ëåò àëãîðèòì ñæàòèÿ Õàôôìàíà è åãî âàðèàíòû îñòàâàëèñü íàèáîëåå ïîïóëÿðíûìè ìåòîäàìè. Îäíàêî â 1977 äâà èññëåäîâàòåëÿ èç Èçðàèëÿ ïðåäëîæèëè ñîâåðøåííî äðóãîé ïîäõîä ê ýòîé ïðîáëåìå. Àáðàõàì Ëåìïåë è ßêîá Çèâ âûäâèíóëè èäåþ ôîðìèðîâàíèÿ "ñëîâàðÿ" îáùèõ ïîñëåäîâàòåëüíîñòåé äàííûõ. Ïðè ýòîì ñæàòèå äàííûõ îñóùåñòâëÿåòñÿ çà ñ÷åò çàìåíû çàïèñåé ñîîòâåòñòâóþùèìè êîäàìè èç ñëîâàðÿ. Ñóùåñòâóþò äâà àëãîðèòìà, â íàñòîÿùåå âðåìÿ èçâåñòíûå êàê LZ77 è LZ78. Îíè óæå íå òðåáóþò âêëþ÷åíèÿ ñëîâàðÿ äàííûõ â àðõèâ, òàê êàê åñëè âû ôîðìèðóåòå âàø ñëîâàðü îïðåäåëåííûì ñïîñîáîì, ïðîãðàììà äåêîäèðîâàíèÿ ìîæåò åãî âîññòàíàâëèâàòü íåïîñðåäñòâåííî èç âàøèõ äàííûõ. Ê ñîæàëåíèþ, LZ77 è LZ78 òðàòÿò ìíîãî âðåìåíè íà ñîçäàíèå ýôôåêòèâíîãî ñëîâàðÿ. Ëåìïåë áûë ïðèãëàøåí ôèðìîé Sperry äëÿ îêàçàíèÿ èì ïîìîùè â ðàçðàáîòêå ñïîñîáà íàèáîëåå ýôôåêòèâíîé óïàêîâêè äàííûõ íà êîìïüþòåðíûõ ëåíòàõ.  ýòîé æå ôèðìå Òåððè Âåë÷ (Terry Welch) ðàñøèðèë àëãîðèòì LZ78, ñîçäàâ íîâûé âàðèàíò, øèðîêî èçâåñòíûé, êàê LZW.
Íà ðàáîòó Âåë÷à îáðàòèëà âíèìàíèå ãðóïïà ïðîãðàììèñòîâ Unix è èñïîëüçîâàëà åãî àëãîðèòì â èõ ïðèëîæåíèè LZW, ïîëó÷èâøåì âïîëíå åñòåñòâåííîå íàçâàíèå compress. Îíè äîáàâèëè íåñêîëüêî óñîâåðøåíñòâîâàíèé è îïóáëèêîâàëè îáùåäîñòóïíóþ âåðñèþ ýòîé ïðîãðàììû â òåëåêîíôåðåíöèè Internet, áëàãîäàðÿ ÷åìó ìíîãèå ïîëüçîâàòåëè ñìîãëè íà÷àòü ñ íåé ðàáîòàòü.
Ïîïóëÿðíîñòü àëãîðèòìà LZW â çíà÷èòåëüíîé ñòåïåíè ñâÿçàíà ñ óñïåõîì ïðîãðàììû compress. Èñõîäíûé òåêñò ïîñëåäíåé âåðñèè ïðîãðàììû, îñóùåñòâëÿþùåé êàê ñæàòèå, òàê è äåêîìïðåññèþ, çàíèìàåò âñåãî 1200 ñòðîê. ßäðî êîäà ñæàòèÿ çàíèìàåò íå áîëåå ñîòíè ñòðîê, à êîä äåêîìïðåññèè íå íàìíîãî áîëüøå. Ïðîãðàììèñòû ñ÷èòàþò, ÷òî ýòî îáëåã÷àåò ÷òåíèå è ïîíèìàíèå àëãîðèòìà, à òàêæå ïîçâîëÿåò àäàïòèðîâàòü åãî äëÿ ñàìûõ ðàçíûõ öåëåé.
Àëãîðèòìû LZ-ñòèëÿ (âêëþ÷àÿ LZW, LZ77, LZ78 è ìíîãèå äðóãèå âàðèàíòû) î÷åíü ïîïóëÿðíû âåçäå, ãäå òðåáóåòñÿ óíèâåðñàëüíîå ñæàòèå. LZW èñïîëüçóåòñÿ â ñòàíäàðòå ìîäåìà V.42bis, ïðîòîêîëå ïåðåäà÷è äàííûõ ZModem, ôîðìàòàõ GIF, TIFF, ARC è äðóãèõ ïðèêëàäíûõ ïðîãðàììàõ. Äðóãèå àëãîðèòìû LZ èñïîëüçóþòñÿ â äèñêîâûõ óòèëèòàõ ñæàòèÿ òèïà DoubleSpace è Stacker, ãðàôè÷åñêèõ ôîðìàòàõ òèïà PNG, à òàêæå â óíèâåðñàëüíûõ óòèëèòàõ àðõèâèðîâàíèÿ è ñæàòèÿ, âêëþ÷àÿ ZIP, GZIP è LHA.
Ïîìèìî ïîëüçóþùèõñÿ áîëüøèì âíèìàíèåì àëãîðèòìîâ, áàçèðóþùèõñÿ íà ñëîâàðå, ñóùåñòâóþò è äðóãèå ïîäõîäû. Àëãîðèòì ñæàòèÿ Õàôôìàíà (Huffman), îñíîâàííûé íà ñòàòèñòè÷åñêèõ êîëåáàíèÿõ ðàñïðåäåëåíèÿ íåêîòîðûõ çíà÷åíèé áàéòîâ, ëåã â îñíîâó íåñêîëüêèõ î÷åíü ýôôåêòèâíûõ ìåòîäîâ ñæàòèÿ, èçâåñòíûõ, êàê àðèôìåòè÷åñêîå êîäèðîâàíèå (arithmetic encoding), ýíòðîïèéíîå êîäèðîâàíèå (entropy coding) èëè Q-êîäèðîâàíèå (Q-coding). Àðèôìåòè÷åñêîå êîäèðîâàíèå óëó÷øàåò ñæàòèå Õàôôìàíà äâóìÿ ïóòÿìè. Ïåðâîå óñîâåðøåíñòâîâàíèå çàêëþ÷àåòñÿ â òîì, ÷òî îíî íå òðåáóåò, ÷òîáû âûáðàííûå êîäû áûëè öåëûì ÷èñëîì áèò.  òî âðåìÿ êàê ñæàòèå Õàôôìàíà ìîãëî âûáèðàòü äâóõ- è ÷åòûðåõáèòîâûå êîäû, ïðîãðàììà àðèôìåòè÷åñêîãî êîäèðîâàíèÿ ìîæåò èñïîëüçîâàòü êîä äëèíîé 6,23 áèò. (×òî òàêîå 0,23 áèò - ÷èñòî ôèëîñîôñêèé âîïðîñ, åñëè Âàñ ýòî çàèíòåðåñîâàëî, òî â îòäåëüíîì ðàçäåëå Âû íàéäåòå äðóãîå îáúÿñíåíèå àðèôìåòè÷åñêîãî êîäèðîâàíèÿ.) Âòîðîå óñîâåðøåíñòâîâàíèå (êîòîðîå ìîæåò òàêæå èñïîëüçîâàòüñÿ â ñæàòèè Õàôôìàíà) çàêëþ÷àåòñÿ â òîì, ÷òî àðèôìåòè÷åñêîå êîäèðîâàíèå èñïîëüçóåò áîëåå ñëîæíóþ ñòàòèñòèêó. Îíà íå ïðîñòî ñëåäèò çà ÷àñòîòîé ïîÿâëåíèÿ áàéòà â ôàéëå, à îöåíèâàåò ÷àñòîòó åãî ïîÿâëåíèÿ â îïðåäåëåííîì êîíòåêñòå. Íàïðèìåð, ïðè èñïîëüçîâàíèè èñõîäíîãî àëãîðèòìà ñæàòèÿ Õàôôìàíà ñèìâîë "u", âñòðå÷àþùèéñÿ íå ñëèøêîì ÷àñòî, ìîã áû ïîëó÷àòü äîâîëüíî äëèííûé êîä. Íî â ñëîæíîé ïðîãðàììå àðèôìåòè÷åñêîãî êîäèðîâàíèÿ ñèìâîë "u", ñëåäóþùèé çà "q", áóäåò çàêîäèðîâàí î÷åíü êîìïàêòíî, òàê êàê âûñîêà âåðîÿòíîñòü òîãî, ÷òî "u" ñëåäóåò ñðàçó çà "q". Êîìáèíàöèÿ ýòèõ äâóõ óñîâåðøåíñòâîâàíèé ïðèâîäèò î÷åíü ê ýôôåêòèâíîìó ñæàòèþ.
Äðóãèå ìåòîäû ñæàòèÿ ïðåäíàçíà÷åíû äëÿ äàííûõ îïðåäåëåííîãî òèïà, à ïîòîìó îíè ïëîõî ïîäõîäÿò äëÿ àðõèâèðîâàíèÿ. Ìíîãèå óñîâåðøåíñòâîâàííûå ìåòîäû, ïîÿâëÿâøèåñÿ â ïîñëåäíåå âðåìÿ, îñíîâûâàëèñü íà ñèíòåçå ýòèõ òðåõ ìåòîäîâ (íàïðèìåð, èñïîëüçîâàíèå êîäîâ Õàôôìàíà äëÿ çàïèñåé ñëîâàðÿ) èëè âûïîëíåíèÿ ñëîæíîé ïðåäâàðèòåëüíîé îáðàáîòêè äàííûõ, óâåëè÷èâàþùåé ýôôåêòèâíîñòü ñæàòèÿ îäíèì èç ýòèõ ìåòîäîâ.
Âîçìîæíî, îäíèì èç íàèáîëåå ñóùåñòâåííûõ ñîáûòèé çà ïîñëåäíèå íåñêîëüêî äåñÿòèëåòèé â îáëàñòè àëãîðèòìîâ ñæàòèÿ ñòàëî ïîÿâëåíèå ïàòåíòîâ íà ïðîãðàììíîå îáåñïå÷åíèå. Ñ 1981 United States Patent and Trademark Office (USPTO) íà÷àë ïðèíèìàòü çàÿâêè íà ïàòåíòîâàíèå àëãîðèòìîâ ïðîãðàììíîãî îáåñïå÷åíèÿ. Ìíîãèå èç ïðåäñòàâëåííûõ ïàòåíòîâ áûëè ïî ìåòîäàì ñæàòèÿ. Íàèáîëåå èçâåñòíûå èç íèõ - ïàòåíòû ôèðìû Unisys íà àëãîðèòì ñæàòèÿ LZW è ïàòåíòû ôèðìû IBM íà àðèôìåòè÷åñêîå êîäèðîâàíèå. Ê ñîæàëåíèþ, ïåðâîíà÷àëüíî ðàáîòà ïî îáðàáîòêå çàÿâîê â USPTO áûëà ïîñòàâëåíà íåâàæíî.  ðåçóëüòàòå ÷åãî ðàçíûì ëþäÿì ïðåäîñòàâëÿëèñü ðàçëè÷íûå ïàòåíòû íà îäèí è òîò æå àëãîðèòì (ïðè÷åì èíîãäà ñ ïî÷òè èäåíòè÷íîé ôîðìóëèðîâêîé). Íåêîòîðûå èç ýòèõ ïàòåíòîâ îñïàðèâàëèñü â ñóäåáíîì ïîðÿäêå, íî âûñîêàÿ ñòîèìîñòü ñóäåáíîãî ðàçáèðàòåëüñòâà èñêîâ ðåçêî ñíèæàåò êîëè÷åñòâî òàêèõ ïðåòåíäåíòîâ.
Îäèí ïîëîæèòåëüíûé ðåçóëüòàò ââåäåíèÿ ïàòåíòîâàíèÿ âðÿä ëè ïðèõîäèòñÿ îñïàðèâàòü. Ïàòåíòîâàíèå ïðîãðàììíîãî îáåñïå÷åíèÿ ñïðîâîöèðîâàëî ïîÿâëåíèå îãðîìíîãî êîëè÷åñòâà ðàáîò ïî ðàçðàáîòêå íîâûõ àëãîðèòìîâ ñæàòèÿ (áîëüøàÿ ÷àñòü êîòîðûõ áûñòðî ïàòåíòóåòñÿ èõ èçîáðåòàòåëÿìè). Îäíàêî äðóãîé ýôôåêò áûë àáñîëþòíî îòðèöàòåëüíûé. Ìíîãèå èç àëãîðèòìîâ ñæàòèÿ èñïîëüçîâàëèñü ñïåöèôè÷åñêèì îáðàçîì, íàïðèìåð, êàê ÷àñòü ìåæäóíàðîäíûõ ñòàíäàðòîâ (V.42bis è JPEG). Êðîìå òîãî, îòäåëüíûå êîìïàíèè è ïîëüçîâàòåëè ñêîïèðîâàëè îáùåäîñòóïíûé êîä (òàê, ðåàëèçàöèÿ compress LZW øèðîêî êîïèðîâàëàñü äëÿ ñàìûõ ðàçíûõ öåëåé). Ôèíàíñîâûå øòðàôû çà èñïîëüçîâàíèå ýòèõ àëãîðèòìîâ (â ôîðìå àâòîðñêèõ îò÷èñëåíèé ê âëàäåëüöàì ïàòåíòà) îòâðàùàëè îò ïîääåðæêè ýòèõ ñòàíäàðòîâ àâòîðîâ óñëîâíî-áåñïëàòíîãî è áåñïëàòíîãî ïðîãðàììíîãî îáåñïå÷åíèÿ èëè áåñïëàòíûõ áèáëèîòåê. Íåêîòîðûå êîìïàíèè ïóáëè÷íî îáúÿâèëè î òîì, ÷òî îíè íå áóäóò òðåáîâàòü àâòîðñêèõ îò÷èñëåíèé çà èñïîëüçîâàíèå èõ çàïàòåíòîâàííûõ àëãîðèòìîâ â áåñïëàòíîì ïðîãðàììíîì îáåñïå÷åíèè. Îäíàêî òàê ïîñòóïèëè äàëåêî íå âñå. Ïîêà íåÿñíî, êàê ýòîò êîíôëèêò îòðàçèòñÿ íà èíäóñòðèè áåñïëàòíîãî ïðîãðàììíîãî îáåñïå÷åíèÿ è íà ïàòåíòíîì çàêîíîäàòåëüñòâå. Ïî êðàéíåé ìåðå, îäíà îðãàíèçàöèÿ, League for Programming Freedom, áîðåòñÿ ñ ïàòåíòàìè ïðîãðàììíîãî îáåñïå÷åíèÿ è ïðåäïðèíèìàåò àêòèâíûå øàãè ïî èõ îòìåíå.
 äàííîé ðàáîòå áóäóò ðàññìîòðåíû òîëüêî ñîâðåìåííûå ñïîñîáû àðõèâàöèè äàííûõ, à èìåííî ñïåöèàëèçèðîâàííûå ïðîãðàììû àðõèâàòîðû. Óñòàðåâøèå ïðîãðàììû ðåçåðâíîãî êîïèðîâàíèÿ òèïà BACKUP-RESTORE ðàññìàòðèâàòñÿ íå áóäóò, ââèäó èõ îòñóòñòâèÿ â íîâûõ âåðñèÿõ MS DOS, íà÷èíàÿ MS DOS 6.22.
Àðõèâàòîðû MS DOS.
Ñ ðàçâèòèåì êîìïüþòåðà ñòàëè óâåëè÷èâàòüñÿ è îáúåìû èíôîðìàöèè õðàíèìîé â íåì, ÷òî â ñâîþ î÷åðåäü ïðèâåëî ê ðàçâèòèþ òåõíîëîãèé ïî õðàíåíèþ ýòîé èíôîðìàöèè â ñæàòîì âèäå, òî åñòü â àðõèâàõ. Äëÿ ýòîãî áûëî ïðèäóìàíî ìíîæåñòâî ïðîãðàìì îñóùåñòâëÿþùèõ àðõèâàöèþ èíôîðìàöèè.
Îäíàêî â ðàáîòå ñ ýòîé èíôîðìàöèåé èíîãäà íåæåëàòåëüíî ðàñêðûâàòü ïîëíûé àðõèâ, ÷òîáû âçÿòü îäèí èëè äâà òðåáóåìûõ ôàéëà èëè æå ïðîñòî ïîñìîòðåòü, ÷òî â àðõèâå çà èíôîðìàöèÿ.
Ïðîãðàììû-àðõèâàòîðû, çà èñêëþ÷åíèåì åäèíèö, íå ïðåäîñòàâëÿþò óäîáíûõ îáîëî÷åê ïîçâîëÿþùèõ ïðîñòî, áûñòðî è â íàãëÿäíîé ôîðìå ðàçîáðàòüñÿ ñ ñîäåðæèìûì àðõèâîâ.
Àðõèâàòîðû -- ýòî ïðîãðàììû, ïîçâîëÿþùèå ñîçäàâàòü è îáðàáàòûâàòü àðõèâíûå êîïèè ôàéëîâ. Ïðè ýòîì èç àðõèâíûå êîïèè èìåþò ìåíüøèé ðàçìåð, ÷åì îðèãèíàëû. Ñ ïîìîùüþ ñïåöèàëüíûõ àëãîðèòìîâ ñæàòèÿ èç ôàéëîâ óäàëÿåòñÿ âñÿ èçáûòî÷íàÿ èíôîðìàöèÿ, à ïðè ïðèìåíåíèÿ îáðàòíûõ àëãîðèòìîâ ðàñïàêîâêè àðõèâíàÿ êîïèÿ âîññòàíàâëèâàåòñÿ â ïåðâîíà÷àëüíîì âèäå.
Íàèáîëåå èçâåñòíûå ïðîãðàììû-àðõèâàòîðû äëÿ MS-DOS: ARJ (ðàçðàáîò÷èê -- Robert K. Jung), pkzip
(êîìïàíèÿ PKWARE Inc.), lha (Haruyasu Yoshizaki), zoo (Rahul Dhesi). Áåçóñëîâíûì ëèäåðîì âî âñåì ìèðå çà ïîñëåäíèå 5 ëåò ñòàë àðõèâàòîð RAR.  íàñòîÿùåå âðåìÿ RAR àêòèâíî âûòåñíÿåò ZIP êàê îñíîâíóþ óòèëèòó ñæàòèÿ FTP àðõèâîâ â ñåòè INTERNET. RAR ÿ ÿâëÿåòñÿ åäèíñòâåííîé âñåìèðíî èñïîëüçóåìîé ïðîãðàììîé, ñîçäàííîé ðóññêèì ïðîãðàììèñòîì (çà èñêëþ÷åíèåì TETRIS). Âñå àðõèâàòîðû îòëè÷àþòñÿ èñïîëüçóåìûìè àëãîðèòìàìè ñæàòèÿ, ôîðìàòàìè àðõèâíûõ ôàéëîâ, ñêîðîñòüþ ðàáîòû è ò.ä.
Òåðìèíû, èñïîëüçóåìûå â àðõèâàöèè
Add file Äîáàâëåíèå (êîïèðîâíèå) ôàéëà â àðõèâ. Åñëè àðõèâ íå ñóùåñòâóåò, òî îí ñîçäàåòñÿ.
CRC Êîä öèêëè÷åñêîãî êîíòðîëÿ. Ñïåöèàëüíàÿ ôóíêöèÿ îò âñåãî ñîäåðæèìîãî ôàéëà. Ñîñòàâëÿåòñÿ òàêèì îáðàçîì, ÷òî èçìåíèòü ôàéë òàê, ÷òîáû åãî CRC îñòàëñÿ íåèçìåííûì, ïðàêòè÷åñêè íåâîçìîæíî.
Exclude selected files Ïðè àðõèâàöèè ÍÅ äîáàâëÿòü â àðõèâ îïðåäåëåííûå ôàéëû.
Extract files Èçâëå÷åíèå ôàéëîâ èç àðõèâà áåç ñîõðàíåíèÿ ñòðóêòóðû ïîäêàòàëîãîâ.
Extract files with pathnames Èçâëå÷åíèå ôàéëîâ èç àðõèâà ñ ñîõðàíåíèåì ñòðóêòóðû ïîäêàòàëîãîâ.
Fresh files Äîáàâëåíèå â àðõèâ íîâûõ âåðñèé óæå èìåþùèõñÿ òàì ôàéëîâ.
Garble (èëè scramble) files with password Àðõèâàöèÿ ôàéëîâ ñ ïàðîëåì. Èçâëå÷ü ôàéëû èç òàêîãî àðõèâà ìîæíî, ëèøü ïðàâèëüíî óêàçàâ ïàðîëü.
Move files Ïåðåìåùåíèå ôàéëîâ â àðõèâ.
Multiple volumes Ìíîãîòîìíûå àðõèâû -- ñîñòîÿùèå èç íåñêîëüêèõ ôàéëîâ (òîìîâ). Óäîáíû ïðè àðõèâàöèè áîëüøèõ êîìïëåêñîâ ôàéëîâ, êîãäà òîìà àðõèâà ìîæíî ïîìåùàòü íà îòäåëüíûå äèñêåòû.
Ratio Ñòåïåíü ñæàòèÿ ôàéëà. Îïðåäåëÿåòñÿ ïî-ðàçíîìó â ðàçëè÷íûõ àðõèâàòîðàõ (îòíîøåíèå èñõîäíîãî ê ñæàòîìó ëèáî íàîáîðîò).
Recurse subdirectories Àðõèâàöèÿ ôàéëîâ èç çàäàííîãî êàòàëîãà è âñåõ åãî ïîäêàòàëîãîâ.  àðõèâå ñîõðàíÿåòñÿ èíôîðìàöèÿ î ïóòè ê ôàéëàì, è ïðè èçâëå÷åíèè èõ ìîæíî âûâîäèòü íå â îäèí êàòàëîã, à â ñîîòâåòñòâóþùèå ïîäêàòàëîãè.
Self-extract (sfx)archive Ñàìîðàñïàêîâûâàþùèéñÿ àðõèâ. Àðõèâíûé ôàéë èìååò ðàñøèðåíèå .exe .èëè com, è ïîñëå åãî çàïóñêà ïðîèñõîäèò àâòîìàòè÷åñêîå èçâëå÷åíèå ôàéëîâ èç àðõèâà.
Test integrity Ïðîâåðêà öåëîñòíîñòè àðõèâà, ò.å. ïðîâåðêà CRC ôàéëîâ àðõèâà.
Update files Äîáàâëåíèå â àðõèâ íîâûõ ôàéëîâ.
Àðõèâàòîð ARJ
Ðàáîòàåò èç êîìàíäíîé ñòðîêè. Âûïîëíÿåò âñå ôóíêöèè ïî îáñëóæèâàíèþ àðõèâîâ .arj , â ò.÷. ïîääåðæêó ìíîãîòîìíûõ àðõèâîâ.
Ïîëó÷èòü ñïðàâêó ïî êëþ÷àì àðõèâàòîðà arj ñ ïîìîùüþ êîìàíä:
arj(îáû÷íàÿ ñïðàâêà)
arj /?(ïîäðîáíàÿ ñïðàâêà)
Arj èìååò î÷åíü áîëüøîå ÷èñëî êëþ÷åé. Ìîæíî àâòîìàòèçèðîâàòü ìíîãî äåéñòâèé -- ñîçäàíèå ðåçåðâíîé êîïèè äèñêà, àðõèâèðîâàíèå íà÷èíàÿ ñ êàêîé-òî äàòû, äîáàâëåíèå ê èìåíè àðõèâà òåêóùåé äàòû (arh970821.arj), àðõèâèðîâàíèå ôàéëà ñ êîíêðåòíîãî ìåñòà, íåñêîëüêî óðîâíåé ñæàòèÿ è òàê äàëåå.  âåðñèè 2.55 âîçìîæíà ðàáîòà ñ äëèííûìè èìåíàìè.
Äîñòîèíñòâà: î÷åíü áîëüøîå êîëëè÷åñòâî êëþ÷åé, ÷òî äàåò âîçìîæíîñòü àâòîìàòèçèðîâàòü áîëüøîå ÷èñëî ôóíêöèé. Çàùèòà àðõèâà îò ïîâðåæäåíèé.
Íåäîñòàòêè: îòñóòñòâèå äèàëîãîâîãî ðåæèìà, íåêîòîðîå íåóäîáñòâà ðàáîòû ïðè íàëè÷èè êàêîãî-òî êëþ÷à â ïåðåìåííîé îêðóæåíèÿ (ARJ_SW) è ñòðîêå çàïóñêà -- âçàèìíîå óíè÷òîæåíèå.
PKZIP
Ðàáîòàåò èç êîìàíäíîé ñòðîêè. Ðàçëè÷íûå ôóíêöèè ïî îáñëóæèâàíèþ àðõèâîâ .zip âûïîëíÿþòñÿ ðàçíûìè ïðîãðàììàìè:
RAR
Àðõèâàòîð RAR v2.50 äëÿ DOS - Èíòåãðèðîâàííàÿ ïðîãðàììà óïðàâëåíèÿ àðõèâàìè
RAR - ýòî î÷åíü ìîùíîå ñðåäñòâî äëÿ ñîçäàíèÿ àðõèâîâ è óïðàâëåíèÿ èìè. Âîçìîæíîñòè RAR:
Ïîëíîýêðàííûé èíòåðàêòèâíûé èíòåðôåéñ (îòêëþ÷àåìûé);
Ïîääåðæêà ìûøè è ìåíþ;
Ïîääåðæêà íå-RAR àðõèâîâ;
'Ñòàíäàðòíûé' èíòåðôåéñ êîìàíäíîé ñòðîêè;
Îðèãèíàëüíûé âûñîêîýôôåêòèâíûé àëãîðèòì ñæàòèÿ äàííûõ;
Ñïåöèàëüíûé àëãîðèòì äëÿ ñæàòèÿ ìóëüòèìåäèéíûõ ôàéëîâ;
Ëó÷øàÿ ñòåïåíü óïàêîâêè, ÷åì ó àíàëîãè÷íûõ ïðîäóêòîâ, çà ñ÷åò èñïîëüçîâàíèÿ ðåæèìà "íåïðåðûâíîãî" ñæàòèÿ;
Èíôîðìàöèÿ îá àâòîðå àðõèâà (òîëüêî â çàðåãèñòðèðîâàííîé âåðñèè);
Ñàìîðàñïàêîâûâàþùèåñÿ (SFX) îáû÷íûå è ìíîãîòîìíûå àðõèâû;
Âîññòàíîâëåíèå ôèçè÷åñêè ïîâðåæäåííûõ àðõèâîâ;
ßçûê ïðîãðàììèðîâàíèÿ äëÿ èíñòàëëÿöèîííûõ SFX-àðõèâîâ;
Áëîêèðîâêà, øèôðîâàíèå, ñïèñîê ïîðÿäêà ôàéëîâ, ìåòêè òîìîâ è äð.
QUARK
Quark ÿâëÿåòñÿ àðõèâàòîðîì êëàññè÷åñêîãî òèïà, èñïîëüçóþùèì LZ77-àëãîðèòì äëÿ óïëîòíåíèÿ èñõîäíûõ äàííûõ ïóòåì êîäèðîâàíèÿ ïîâòîðÿþùèõñÿ ïîñëåäîâàòåëüíîñòåé áàéò (RSE-àëãîðèòì) ñ ïîñëåäóþùèì âòîðè÷íûì óïëîòíåíèåì ñæàòîãî ïîòîêà êîäàìè Õàôôìàíà. Ïîäîáíûå ìåòîäû èñïîëüçóþò âñå òðè ëèäåðà â îáëàñòè óïàêîâêè äàííûõ - àðõèâàòîðû ARJ, LHA, PkZIP.
Òåì íå ìåíåå, Quark äîáèâàåòñÿ ëó÷øèõ ðåçóëüòàòîâ â êîìïàêòíîñòè äàííûõ ïðè ñêîðîñòè ëó÷øåé ÷åì LHA, íå ìåíüøåé ÷åì ó ARJ è íå ñèëüíî îòëè÷àþùåéñÿ îò ñêîðîñòè PkZIP, ïðè èñïîëüçîâàíèè èì ò.í. ìàêñèìàëüíîé êîìïðåññèè äàííûõ. Ýòî îáóñëîâëåíî íåñêîëüêèìè ïðè÷èíàìè:
1) Quark ðàáîòàåò ñ ïëàâàþùèì ðàçìåðîì îêíà îò 32Kb äî 64Kb (ïðîòèâ ôèêñèðîâàííûõ 16Kb ó LHA, è 32Kb ó PkZIP è ARJ).
2) Quark âûïîëíÿåò îïòèìèçàöèþ Ïåðâîãî ðîäà (îïòèìàëüíîñòü àäðåñîâ ññûëîê LZ77) è îïòèìèçàöèþ Âòîðîãî ðîäà (îïòèìàëüíîñòü ññûëî÷íîãî ïîêðûòèÿ ïîòîêà).
3) Quark èñïîëüçóåò òåêñòîâóþ ðåäóêöèþ äëÿ òåêñòîâûõ ôàéëîâ.
4) Quark çàíîñèò â àðõèâ ìèíèìóì ñëóæåáíîé èíôîðìàöèè, íå ïðåòåíäóÿ íà èíûå àïïàðàòíûå ïëàòôîðìû è îïåðàöèîííûå ñèñòåìû.
GZIP
Gzip ñîêðàùàåò ðàçìåð çàäàííûõ ôàéëîâ èñïîëüçóÿ êîäèðîâàíèå Çèâà-Ëåìåëÿ (LZ77). Êîãäà âîçìîæíî, êàæäûé ôàéë çàìåùàåòñÿ ôàéëîì ñ ðàñøèðåíèåì '.gz', ïðè ýòîì ñîõðàíÿþòñÿ âëàäåëåö, ðåæèìû, äîñòóï è âðåìåíà ìîäèôèêàöèè (Äðóãèå ðàñøèðåíèÿ '-gz' äëÿ VMS, 'z' äëÿ MSDOS, OS/2, FAT è Atari). Åñëè íèêàêèõ ôàéëîâ íå óêàçàíî èëè èìÿ ôàéëà '-', òî ïàêóåòñÿ ñòàíäàðòíûé ââîä è âûäàåòñÿ íà ñòàíäàðòíûé âûâîä. Gzip ïûòàåòñÿ ïàêîâàòü òîëüêî îáû÷íûå ôàéëû, â ÷àñòíîñòè GZip èãíîðèðóåò ñèìâîëè÷åñêèå ññûëêè.
Gzip èñïîëüçóåò àëãîðèòì Çèâà-Ëåìåëÿ òàêæå êàê Zip, PKZIP. Èòîãîâûé ðàçìåð, ïîëó÷åííîãî ôàéëà ïîñëå ñæàòèÿ, çàâèñèò îò ðàçìåðà èñõîäíîãî ôàéëà è íàëè÷èÿ â íåì îáùèõ ïîäñòðîê. Îáû÷íî, òàêîé òåêñò, êàê èñõîäíûé êîä èëè àíãëèéñêèé òåêñò ñîêðàùàåòñÿ íà 60-70%. Ïàêîâêà ñ èñïîëüçîâàíèåì ýòîãî àëãîðèòìà îáû÷íî ëó÷øå, ÷åì ïðè èñïîëüçîâàíèè LZW (åãî èñïîëüçóåò Compress), êîäèðîâàíèå Õàôôìàíà (åãî èñïîëüçóåò Pack) èëè àäàïòèðîâàííîå êîäèðîâàíèå Õàôôìàíà (Compact).
Óïàêîâêà ïðîèñõîäèò íåçàâèñèìî îò òîãî óâåëè÷èëñÿ ëè ðàçìåð óïàêîâàííîãî ôàéë â ñðàâíåíèè ñ îðèãèíàëîì èëè íåò. Ïðè÷èíà ðàñøèðåíèÿ - íåñêîëüêî áàéòîâ äëÿ çàãîëîâêà Gzip ôàéëà, ïëþñ 5 áàéòîâ äëÿ êàæäîãî 32Ê áëîêà, èëè îòíîøåíèå ðàñøèðåíèÿ 0.015% îò äëèíû ôàéëà. Çàìåòèì, ÷òî ôàêòè÷åñêîå ÷èñëî çàíÿòûõ íà äèñêå áëîêîâ óæå íèêîãäà íå âîçðàñòàåò. Gzip ñîõðàíÿåò ðåæèìû äîñòóïà, âëàäåëüöåâ è âðåìÿ ìîäèôèêàöèè ôàéëîâ ïðè óïàêîâêå è ðàñïàêîâêå...
ARJZ
ARJZ (ïî âîëå àâòîðà ïðîãðàììû ïðîèçíîñèòñÿ êàê "àðæ-çåò") - ýòî àðõèâàòîð, îñíîâàííûé íà èçâåñòíîé ïðîãðàììå ARJ Ðîáåðòà Þíãà.  îòëè÷èå îò òàêèõ ñîâðåìåííûõ ñðåäñòâ àðõèâèðîâàíèÿ, êàê RAR è UC2, ARJZ èñïîëüçóåò ôîðìàò ôàéëîâ, êîìàíäíóþ ñòðîêó è îïöèè, ñîâìåñòèìûå ñ îäíîé èç ñàìûõ ïîïóëÿðíûõ ïðîãðàìì ñæàòèÿ äàííûõ, à ýòî èìååò ñâîè ïðåèìóùåñòâà.  ÷àñòíîñòè:
1) Ïðàêòè÷åñêè âñ¸ ïðîãðàììíîå îáåñïå÷åíèå, ðàññ÷èòàííîå íà âûçîâ ARJ, áóäåò ðàáîòàòü òàê æå è ñ ïðîãðàììîé ARJZ áåç âñÿêîé ìîäèôèêàöèè. Íàïðèìåð, íå íàäî áóäåò ïåðåïèñûâàòü íè ARCVIEW, íè NC 4.0, íè DN, íè òåõ .BAT ôàéëîâ, êîòîðûå âû ìîãëè ñîçäàòü çà âðåìÿ ïîëüçîâàíèÿ ARJ'åì.
2) Äëÿ òîãî, ÷òîáû èñïîëüçîâàòü âîçìîæíîñòè ARJZ'à ïðè ðàáîòå ñ âàøèìè ñòàðûìè àðõèâàìè, âàì ñîâñåì íå íóæíî ïåðåàðõèâèðîâàòü èõ çàíîâî.
3) Âû òàê æå ïî÷òè èçáàâëÿåòåñü îò íåîáõîäèìîñòè èçó÷àòü íîâûé àðõèâàòîð. Çíàÿ, êàê çàïóñêàåòñÿ ARJ, âû çíàåòå, êàê çàïóñêàåòñÿ ARJZ.
Îäíàêî, ñëåäóåò èìåòü â âèäó, ÷òî:
1) ARJZ ïîçâîëÿåò ñæèìàòü ôàéëû, èñïîëüçóÿ áîëåå ìîùíûå ìåòîäû, ÷åì îðèãèíàëüíàÿ ïðîãðàììà.  ýòîì ñëó÷àå ARJ ÍÅ ÑÌÎÆÅÒ ÏÐÎÂÎÄÈÒÜ ÎÁÐÀÁÎÒÊÓ ÏÎËÓ×ÅÍÍÛÕ ÀÐÕÈÂÎÂ, ÑÂßÇÀÍÍÓÞ Ñ ÐÀÑÏÀÊÎÂÊÎÉ, ò.å. äåàðõèâèðîâàíèå, òåñòèðîâàíèå è ò.ä.  ëþáîì ñëó÷àå âû ñîõðàíèòå âîçìîæíîñòü îáíîâëÿòü è ñëèâàòü àðõèâû, ïåðåèìåíîâûâàòü èëè óäàëÿòü ôàéëû â íèõ, à òàê æå ïîëó÷àòü ñïèñîê ôàéëîâ â àðõèâàõ.
2) ARJZ/UNARJZ ñ îäíîé ñòîðîíû, ïîääåðæèâàþò íå âñå êîìàíäû è îïöèè ARJ'à, à ñ äðóãîé - ââîäÿò íîâûå è ýòî ìîæåò ñîçäàâàòü ïðîáëåìû ïðè ðàáîòå.  äåéñòâèòåëüíîñòè òàêèå ïðîáëåìû âñòðå÷àþòñÿ ÷ðåçâû÷àéíî ðåäêî è ëåãêî ðàçðåøèìû.
Äîñòîèíñòâà è íåäîñòàòêè
Ê äîñòîèíñòâàì ARJZ ìîæíî îòíåñòè:
1) Âåðñèè ïîä DOS (ðåàëüíûé/ðàñøèðåííûé ðåæèìû), OS/2 è NT.  ïðîãðàììó äëÿ ðàñøèðåííîãî ðåæèìà DOS âñòðîåí ðàñøèðèòåëü, ïîýòîìó îíà ðàáîòàåò íà êîìïüþòåðàõ 386+ áåç êàêîãî-ëèáî äîïîëíèòåëüíîãî ïðîãðàììíîãî îáåñïå÷åíèÿ.
2) Âûñîêóþ ñêîðîñòü ñæàòèÿ: ARJZ ñæèìàåò ôàéëû ñ òåì æå êà÷åñòâîì, ÷òî è ARJ ïðèìåðíî â ïîëòîðà ðàçà áûñòðåå ïîñëåäíåãî (êðîìå âåðñèè, ðàáîòàþùåé â ðåàëüíîì ðåæèìå).
3) Âûñîêóþ ñòåïåíü ñæàòèÿ (â ýòîì ñëó÷àå ïîëó÷åííûå àðõèâû íå áóäóò ðàñïàêîâûâàòüñÿ ARJ'åì). Ïî ýòîìó ïàðàìåòðó ARJZ íàõîäèòñÿ íà óðîâíå RAR/UC2 (â ýòîì âû ìîæåòå óáåäèòñÿ ñàìè - you see too ;-).
4) Òàê íàçûâàåìûé "ïîëóýêðàííûé èíòåðôåéñ". ARJZ ìîæåò âî âðåìÿ ðàáîòû âûâîäèòü íà ýêðàí îêîøêî ñ äâóìÿ èíäèêàòîðàìè ïðîöåññà, èìåíåì àðõèâà è èìåíåì ïàêóåìîãî ôàéëà - ýòî çàìå÷àòåëüíàÿ îñîáåííîñòü ïðåäíàçíà÷åíà ñïåöèàëüíî äëÿ òàêèõ ïðîãðàìì, êàê ARC- èëè ARJVIEW, SHEZ, ARJMENU, NC 4.0+, DN è äð.
5) Çäåñü, êîíå÷íî íå ìåñòî äëÿ îïèñàíèÿ ïðåèìóùåñòâ UNARJZ'à, íî òåì íå ìåíåå... Âûñîêàÿ ñêîðîñòü ðàñïàêîâêè. Äàæå íà XT UNARJZ ðàáîòàåò â ñðåäíåì â 1.5-2 ðàçà áûñòðåå, ÷åì ARJ, à ïðè èñïîëüçîâàíèè ñïåöèàëüíîé îïöèè (ñì. UNARJZ.DOC) ðàçíèöà âîçðàñòàåò åù¸ â äâà ðàçà.
Âàæíî îòìåòèòü, ÷òî ïðîöåäóðû äåàðõèâàòîðà îïòèìèçèðîâàíû îòäåëüíî ïîä ïðîöåññîðû 286, 386, 486 è Pentium.
ARJZ íàïèñàí òàêèì îáðàçîì, ÷òî åãî ìîæíî èñïîëüçîâàòü è êàê îòäåëüíûé àðõèâàòîð è êàê íàäñòðîéêó íàä ARJ'åì: åñëè îí íå ìîæåò ðàñïîçíàòü êîìàíä èëè îïöèé êîìàíäíîé ñòðîêè, òî çàïóñêàåò îðèãèíàëüíóþ ïðîãðàììó. Ýòî, ôàêòè÷åñêè, îçíà÷àåò, ÷òî, èñïîëüçóÿ ARJZ, âû, òåì íå ìåíåå, íå òåðÿåòå íè îäíîé îïöèè ARJ'à.
Íåäîñòàòêè ARJZ:
1) Â ARJZ (ïî êðàéíåé ìåðå, ïîêà) íåò ïîääåðæêè ìíîãîòîìíûõ (multi volume), ðåçåðâíûõ (backup) è ñàìîðàñïàêóþùèõñÿ (SFX) àðõèâîâ. Çàìåòüòå, ÷òî UNARJZ ðàñïàêîâûâàåò ëþáûå àðõèâû, ñîçäàííûå ARJ.
2) ARJZ íå ÿâëÿåòñÿ ïîëíîöåííûì àðõèâàòîðîì â òîì ñìûñëå, ÷òî îí ñàìîñòîÿòåëüíî íå óäàëÿåò è íå ïåðåèìåíîâûâàåò ôàéëû â àðõèâàõ, íå ìîæåò ñëèâàòü àðõèâû è ò.ä. Âñþ ýòó ðàáîòó ìîæíî ñäåëàòü ñ ïîìîùüþ îðèãèíàëüíîé ïðîãðàììû, ïîýòîìó íåëüçÿ ãîâîðèòü, ÷òî ïàðà ARJZ/UNARJZ ïîëíîñòüþ çàìåíÿåò ñîáîé ARJ.
Äàëåå áóäóò êðàòêî ðàññìîòðåíû ìåíåå ïîïóëÿðíûå àðõèâàòîðû, êîòîðûå, îäíàêî âñå åùå èñïîëüçóþòñÿ â ñðåäå MS DOS.
Arhangel -- ýòîò àðõèâàòîð áàçèðóåòñÿ íà àðõèâàòîðå HA, íî íåñîâìåñòèì ñ íèì. Ïî çàÿâëåíèþ ñîçäàòåëåé ýòîò àðõèâàòîð íàèáîëåå ïîäõîäèò äëÿ ñæàòèÿ èçîáðàæåíèé (TIFF, BMP).
Äîñòîèíñòâà: õîðîøåå ñæàòèå ãðàôè÷åñêîé èíôîðìàöèè.
Íåäîñòàòêè: îáèëèå êëþ÷åé äëÿ óñòàíîâêè ìàêñèìàëüíîãî ñæàòèÿ -- ïðîñòî òåðÿåøñÿ êàêîé âûáðàòü.
JAR -- íîâûé àðõèâàòîð èç ñåìåéñòâà ARJ. Ó ìåíÿ îí ïîêàçàë áîëåå ïëîõèå ðåçóëüòàòû, íåæåëè WinRAR, õîòÿ â äîêóìåíòàöèè ñêàçàíî, ÷òî "ýòî ëó÷øèé àðõèâàòîð â òåðìèíàõ êîìïðåññèè". Äðóãèå òåñòû òîæå, âðîäå, ïîäòâåðæäàþò, ÷òî ýòîò àðõèâàòîð ëó÷øå WinRAR è äðóãèõ ïîäîáíûõ, íî îí, áåçóñëîâíî, íå çàíèìàåò ïåðâîå ìåñòî. Âîçìîæíîñòè ïðèìåðíî òàêèå æå, êàê è ó ARJ.
Äîñòîèíñòâà: äîñòàòî÷íî áûñòðàÿ ðàáîòà, ïîääåðæêà recovery record -- âîçìîæíîñòü âîññòàíîâëåíèÿ ñáîéíûõ àðõèâîâ.
Íåäîñòàòêè: íåò äèàëîãîâîãî ðåæèìà ðàáîòû.
HA -- Àðõèâàòîð, íàïèñàííûé Harry Hirvola â 1993 ãîäó. Ðàáîòàåò ìåäëåííî (èëè äàæå î÷åíü ìåäëåííî), íî, ïî ðåçóëüòàòàì òåñòîâ, õîðîøî.  äàííîì òåñòå îí íå íà ïåðâîì ìåñòå ïî ñòåïåíè ñæàòèÿ. Íàñêîëüêî ÿ çíàþ, îí îñîáåííî õîðîøî ñæèìàåò òåêñòîâûå ôàéëû, áûëà ïðîâåäåíà îòäåëüíàÿ ïðîâåðêà, êîòîðàÿ ïîäòâåðäèëà äàííûé ôàêò -- íåñìîòðÿ íà ñîëèäíûé âîçðàñò ýòîò àðõèâàòîð íåïëîõî ñæèìàåò: íà 20% ìåíüøå, ÷åì PKZIP. Òàêèì îáðàçîì äëÿ ñæàòèÿ áîëüøèõ òåêñòîâûõ ôàéëîâ ëó÷øå ïîëüçîâàòüñÿ HA (LGHA) ÷åì WinRAR. Ïîÿâèëñÿ àðõèâàòîð LGHA, êîòîðûé ñîçäàåò òî÷íî òàêèå æå àðõèâû, íî íåìíîãî áûñòðåå.
Íåäîñòàòêè: Ìàëîå êîëè÷åñòâî êëþ÷åé, íåñêîëüêî íåñòàíäàðòíûå êîìàíòäû. Íåâîçìîæíîñòü ñîçäàíèÿ àðõèâîâ íà íåñêîëüêî äèñêåò è ñàìîðàñïàêîâûâàþùèåñÿ àðõèâîâ. Íå ïîääåðæèâàåò øèôðîâàíèå.
UC II (Ultra compress) -- ïðîãðàììà, ðàáîòàþùàÿ èç êîìàíäíîé ñòðîêè, íî èìåþùàÿ äèàëîãîâîå ìåíþ äëÿ íàñòðîéêè ðàçëè÷íûõ ïàðàìåòðîâ. Åñòü âîçìîæíîñòü äîáàâëÿòü recovery record. Èíòåðåñíàÿ äîïîëíèòåëüíàÿ ïðîãðàììà ïî øèôðîâàíèþ àðõèâîâ.
Íåäîñòàòêè: Ðàçáèâêà íà äèñêåòû òîëüêî ôèêñèðîâàííîé äëèííû è òîëüêî âíåøíåé ïðîãðàììîé...
ACB -- ïðîãðàììà ðîññèéñêîãî ïðîãðàììèñòà îáåñïå÷èâàþùàÿ õîðîøåå, äàæå Î×ÅÍÜ õîðîøåå ñæàòèå, ÍÎ òðåáóþùàÿ î÷åíü õîðîøåãî êîìïüþòåðà. Ïî ñëîâàì ðàçðàáîò÷èêà íåîáõîäèì êàê ìèíèìóì 486 êîìï ñ 15 ìåãàáàéòàìè ÎÇÓ. Íî ðåàëüíî òðåáóåòñÿ ãîðàçäî áîëüøå. Ïî÷åìó-òî î÷åíü ìåäëåííàÿ ðàñïàêîâêà -- 27 ìåãàáàéò èíôîðìàöèè ïðîãðàììà ðàñïàêîâûâàëà 3000 ñåêóíä (ò.å. 50 ìèíóò) è ýòî ïðè òîì, ÷òî ïðîãðàììà çàïóñêàëàñü íà Pentium-200 ñ 32 ìåãàáàéòàìè ÎÇÓ.
Äîñòèíñòâà: ìàëåíüêèé ðàçìåð ïðîãðàììû, âîçìîæíîñòü çàùèòû àðõèâîâ îò ïîâðåæäåíèÿ.
Íåäîñòàòêè: Î÷åíü çàâûøåííûå òðåáîâàíèÿ ê ìàøèíå. Íå õî÷åò àðõèâèðîâàòü áîëüøèå ôàéëû è ñòàâèòü çàùèòó îò ïîâðåæäåíèÿ íà áîëüøèå àðõèâû. Åùå îäèí ôîðìàò êîìàíä -- íåñòàíäàðòûå êîìàíäû.
Rkive -- ýòîò àðõèâàòîð ïî ðåçóëüòàòàì ñæàòèÿ çàíÿë òðåòüå ìåñòî â äàííîì òåñòèðîâàíèè (â ñõîäíîì òåñòå îí ïðîïóñòèë âïåðåä BOA è ACB). Òåñòû øëè ñ áåòà âåðñèåé.
Äîñòîèíñòâà: íå ñìîòðÿ íà íåáîëüøîé ðàçìåð àðõèâàòîðà (58 ê) î÷åíü ïðèëè÷íîå ñæàòèå.
Íåäîñòàòêè: íåóñòîé÷èâàÿ ðàáîòà -- íà îäíîé èç ìàøèí âñå âðåìÿ àâàðèéíîå çàâåðøåíèå ðàáîòû àðõèâàòîðà (áåç ñáîÿ ñèñòåìû â öåëîì -- òî ëè ìàøèíà íå íðàâèòñÿ, òî ëè 16 ìåãàáàéò ïàìÿòè ìàëî...). Íåõâàòêà ïàìÿòè ïðè áûë çàìå÷åí åùå îäèí íåäîñòàòîê -- íåâîçìîæíîñòü ïðèáàâëåíèÿ ôàéëîâ ê ñóùåñòâóþùèì àðõèâàì. Îòñóòñòâóåò âîçìîæíîñòü ñîçäàíèÿ SFX àðõèâîâ.
BOA -- ýòîò àðõèâàòîð ïî ðåçóëüòàòàì ñæàòèÿ çàíÿë âòîðîå ìåñòî ñðåäè ðàññìàòðèâàåìûõ àðõèâàòîðîâ òåñòèðîâàíèè (â ñõîäíîì òåñòå îí çàíÿë ïåðâîå ìåñòî). Íî ïåðåõîäèòü íà ýòîò àðõèâàòîð, áåçóñëîâíî, ðàíî, ò.ê. ýòî òîëüêî ïðåäâàðèòåëüíàÿ âåðñèÿ äëÿ òåñòèðîâàíèÿ.
Äîñòîèíñòâà: äîñòàòî÷íî áûñòðî ðàáîòàåò.
Íåäîñòàòêè: áóäåì ñ÷èòàòü, ÷òî íåäîñòàòêè ïðèñóòñòâóþò èç-çà áåòà-âåðñèè...
BIX -- íîâûé àðõèâàòîð, êîòîðûé ïîäàåò õîðîøèå íàäåæäû. Ïîêà òîëüêî áåòà âåðñèÿ. Ñîçäàí Èãîðåì Ïàâëîâûì. Àâòîð ïðåäóïðåæäàåò, ÷òî åñëè âû áóäåòå èñïîëüçîâàòü ìàñêó "*.*", òî ó âàñ íå áóäóò äîáàâëÿòüñÿ ôàéëû áåç ðàñøèðåíèÿ! Äëÿ äîáàâëåíèÿ âñåõ ôàéëîâ ñëåäóåò èñïîëüçîâàòü ìàñêó "*"
DST -ïîñòðîåí òàêèì îáðàçîì, ÷òî ñæèìàåò òîëüêî îäèí ôàéë. Âûõîä èç ýòîãî -- âîñïîëüçîâàòüñÿ óòèëèòîé, êîòîðàÿ ìîæåò ñæèìàòü ñçäàâàòü îäèí ôàéë èç íåñêîëüêèõ.
Ñðàâíåíèå âðåñèé àðõèâàòîðîâ MS DOS è Windows.
Íåñìîòðÿ íà êàæóùóþñÿ “ìîðàëüíóþ îòñòàëîñòü” MS DOS, â ðÿäå ñëó÷àåâ èñïîëüçîâàíèå MSDOS-àðõèâàòîðîâ ìîæåò áûòü ãîðàçäî áîëåå ýôôåêòèâíûì, ïî ñðàâíåíèþ ñ àíàëîãè÷íûìè âåðñèÿìè äëÿ Windows 9x.
Àðõèâàòîðû ðàáîòàþùùèå â ñðåäå MSDOS ðàáîòàþò â ðåàëüíîì ðåæèìå ïðîöåññîðà. Ýòî îáåñïå÷èâàåò íå ìåíåå ÷åì â 1.5 ðàçà áîëüøóþ ïðîèçâîäèòåëüíîñòü ïðîöåññîðà, ïî ñðàâíåíèþ ñ çàùèùåííûì ðåæèìîì Windows 9x (äëÿ ïðîöåññîðîâ P-II è ñòàðøå).
Âñå âåðñèè àðõèâàòîðîâ äëÿ MS DOS ( ïî êðàéíåé ìåðå èç ðàññìîòðåííûõ âûøå), âåñüìà ýôôåêòèâíî èñïîëüçóþò ïàìÿòü XMS èëè EMS. Ñ ó÷åòîì ðåàëüíîãî ðåæèìà ðàáîòû ïðîöåññîðà, ýòî äàåò åùå 10-15 % âûèãðàøà â ïðîèçâîäèòåëüíîñòè.
Êàê íè ñòðàííî, âåðñèè àðõèâàòîðîâ äëÿ MS DOS ÷àñòî èñïîëüçóþò áîëåå ñîâåðøåííûå àëãîðèòìû ñæàòèÿ. Ïðè÷èíà ïðîñòà - â áîëüøèíñòâå ñëó÷àåâ â âåðñèÿõ àðõèâàòîðîâ äëÿ MS DOS îïðîáóþòñÿ âîçìîæíûå óñîâåðøåíñòâîâàíèÿ, ïåðåíîñèìûå äàëåå â Windows. Ïðè÷åì, èíîãäà ïðèìåíåíèå íåêîòîðûõ íîâøåñòâ â Windows îêàçûâàåòñÿ òåõíè÷åñêè íåöåëåñîîáðàçíûì. Ïðèìåð - îòêàç îò ïðèìåíåíèÿ â àðõèâàòîðå WinZip 8.0 Beta ñëîâàðÿ ïðåìåííîé äëèííû áîëåå 128 êÁàéò, èç-çà ïåðåïîëíåíèÿ êåø-ïàìÿòè ñîâðåìåííûõ ïðîöåññîðîâ Pentium-II èëè Celeron.
Ðåçþìèðóÿ, ìîæíî óòâåðæäàòü, ÷òî ïðè ïðî÷èõ ðàâíûõ óñëîâèÿõ (òèï âû÷èñëèòåëüíîé ñèñòåìû, ñòåïåíü ñæàòèÿ è äð.) ïðîèçâîäèòåëüíîñòü àðõèâàöèè (îñîáåííî óïàêîâêè ñ âûñîêîé ñòåïåíüþ ñæàòèÿ) â àðõèâàòîðàõ äëÿ MS DOS ïðèìåðíî â 1.5-1.6 âûøå. Ãðóáî ãîâîðÿ, â 1.5 ðàçà áûñòðåå. Äëÿ íåáîëüøèõ àðõèâîâ (äî 40-100MB) ýòî íå ÿâëÿåòñÿ ñóùåñòâåííûì. Îäíàêî, åñëè âûïîëíÿòü àðõèâèðîâàíèå 10000-15000 ôàéëîâ îáùèì îáúåìîì áîëåå 1-2Ãá (òèïè÷íûé îáúåì íåáîëüøîãî FTP ñåðâåðà INTERNET), ðàçíèöà âî âðåìåíè ìîæåò ñîñòàâèòü äî 30-60 ìèíóò (Celeron-450MHz + 64MB RAM).
È íàêîíåö, â ñëó÷àå ïîâðåæäåíèÿ çàãðóçî÷íûõ ôàéëîâ Windows 9x , åäèíñòâåííûì ñïîñîáîì “ñïàñòè” àðõèâ, ÿâëÿåòñÿ èñïîëüçîâàíèå ïðîâåðåííûõ è íàäåæíûõ àðõèâàòîðîâ äëÿ MS DOS.