Архівація інформації

 

У системі Windows немає вбудованих функцій для роботи з упакованими архівами, тому більшості користувачів доводиться обзаводитися спеціальними утилітами і при цьому вирішувати проблему різноманіття архівних форматів.

Місткість магнітних дисків і оперативної пам'яті постійно росте, канали передачі даних стають усе більш потужними, та все ж об'єм передаваної інформації, що зберігається, як і раніше залишається дуже значимим чинником, що примушує нас використовувати програмні засоби для роботи з упакованими даними.

Архіви: формати і інструменти.

Спершу декілька слів про термінологію. Прийнято розрізняти архівацію і упаковку (компресію, стискування) даних. У першому випадку йдеться про злиття декількох файлів і навіть каталогів в єдиний файл — архів (прикладом використання такої технології в чистому вигляді може служити формат TAR), в другому — про скорочення об'єму початкових файлів шляхом усунення надмірності (у цій роботі розглядається упаковка без втрат інформації, т. е. з можливістю точного відновлення початкових файлів). Як правило, сучасні архіватори забезпечують також стискування даних, являючись таким чином ще і пакувальниками, проте існують і чисто "пакувальні" утиліти типу Gzip, що стискують окремі файли, перетворюючи їх у формат Z або GZ.

При виборі інструменту для роботи з упакованими файлами і архівами слід враховувати два чинники: ефективність, т. е. оптимальний баланс між економією дискової пам'яті і продуктивністю роботи, і сумісність, т. е. можливість обміну даними з іншими користувачами. Сумісність, мабуть, сьогодні важливіша, оскільки по мірі стискування, що досягається, конкуруючі формати і інструменти розрізняються на відсотки (але не в рази), а обчислювальна потужність сучасних комп'ютерів робить час обробки архівів не таким істотним показником, як, скажімо, десять років тому. Тому при виборі інструменту для роботи з архівами найважливішим критерієм для більшості користувачів (в усякому разі тих, для кого обмін великими масивами даних — насущна проблема), ймовірно, являється здатність програми "розуміти" найбільш поширені архівні формати, навіть якщо ці формати не найефективніші.

Дія більшості засобів упаковки заснована на використанні алгоритмів стискування, запропонованих в 80-х рр. Абрамом Лемпелем і Якобом Зивом. Багато популярних архівних форматів (ZIP, LZH, ARJ, ARC, ICE і т. п.) з'явилися в епоху панування DOS. Для роботи з ними використовувалися спеціалізовані архіватори-пакувальники (утиліти PKZip/PKUnzip, LHA, Arj), які дозволяли архівувати цілі каталоги і забезпечували високу міру стискування для текстових, графічних і інших типів файлів. Ці програми викликалися командним рядком з численними параметрами, що досить громіздкими, такими, що хоча і забезпечували багаті можливості. Незабаром стали з'являтися інтегруючі надбудови, за допомогою яких можна було працювати з різними форматами архівів не з командного рядка, а за допомогою меню.

 

По-справжньому прижилися у світі персональних комп'ютерів, ставши сьогодні фактичними стандартами, лише небагато із старих архівних форматів — ZIP, ARJ і, мабуть, ще LZH. Окрім цих традиційних форматів деякі сучасні архіватори дозволяють працювати з новим межплатформным форматом JAR (Java ARchive), який був створений спеціально для пересилки багатокомпонентних Java -апплет, але може застосовуватися і для роботи з упакованими архівами загального призначення (у JAR застосовуються ті ж методи стискування, що і в ZIP). Ще один формат, CAB, був запропонований фірмою Microsoft, засоби для роботи з ним входять до складу Windows 9x; багато архіваторів, орієнтованих на формати ZIP і ARJ, дозволяють також розпаковувати CAB -архивы.

Нині росте популярність формату RAR і відповідних програм, створених нашим співвітчизником, челябінцем Євгенієм Рошалем. Але, хоча технологія RAR забезпечує високу міру стискування, стандартом вона так і не стала, частково із-за не дуже гнучкого механізму роботи з великими архівами. У багатьох випадках вдалим рішенням проблеми сумісності є створення архівів у вигляді програм (EXE -файлов), що самораспаковывающихся. Багато програм, орієнтованих на який-небудь з традиційних типів архівів, здатні створювати і EXE -архивы на базі свого "рідного" формату. Але це рішення не завжди забезпечує достатню гнучкість (наприклад, не дозволяє без спеціальних інструментів вибірково витягати файли з архіву).

З приходом Windows архіватори обзавелися графічним інтерфейсом. В деяких випадках цей інтерфейс лише прикривав собою ту або іншу стару утиліту командного рядка, але з'явилися і повноцінні, у тому числі 32-розрядні, програми зі вбудованим механізмом для маніпулювання архівами (як правило, якого-небудь одного типу; найвідоміша ZIP -ориентированная програма такого роду — WinZip фірми Nico Mak Computing).

У зручному виді маніпуляції з командним рядком були "заховані" за інтерфейсом популярних в Росії файлових оболонок типу DISCo Commander, FAR і особливо Windows Commander починаючи з версій 4.хх. Ці оболонки дозволяють шляхом налаштування файлів конфігурації підключати будь-кого зовнішні DOS -архиваторы командного рядка (Arj, PKZip, ARC, LZH і т. п.) і організовувати прозоре маніпулювання архівами, представляючи їх у вигляді звичайних каталогів. На жаль, багато утиліт командного рядка нездатні повноцінно працювати з довгими іменами файлів (така можливість з'явилася в програмі PKZip лише починаючи з версії 2.5 для Windows, в Arj — починаючи з версії 3.0), а організувати обмін файлами з архівом можна тільки в межах вікна оболонки. Крім того, і самі програмні оболонки, і архіватори командного рядка, що викликаються з їх середовища, — комерційні продукти (як правило, умовно-безкоштовні), кожну доводиться придбавати окремо. На відміну від утиліт командного рядка, розрахованих на роботу з одним типом архівів, Windows -программы більше універсальні з точки зору сумісності по форматах і до того ж використовують такі переваги нової ОС, як можливість давати об'єктам довгі імена і переносити файли з одного застосування в інше.

 

Розглянуті програми здебільшого орієнтовані на роботу з архівами у форматі ARJ або ZIP, але, як правило, містять вбудовані засоби (чи допускають підключення зовнішніх модулів) для розпаковування і перегляду і архівів інших типів. Загалом, тести показують, що програми, орієнтовані на формат ARJ (їх, до речі, не так багато), в середньому працюють трохи швидше аналогічних ZIP -архиваторов і до того ж забезпечують більший коефіцієнт стискування, проте архіватор, несумісний з форматом ZIP, навряд чи можна сьогодні вважати повноцінним інструментом. Усі програми володіють зручними инсталляторами і стандартними засобами деінсталяції. Як правило, архіватори можуть вибірково реєструватися в якості засобу для обробки розпізнаваних ними типів файлів. Практично усі архіватори передбачають роботу з довгими іменами об'єктів, проте якщо ці імена містять російські букви, то 16-розрядні програми їх невпізнанно спотворюють при упаковці. Найбільш зручні утиліти інтегруються в систему Windows 9x: дозволяють упаковувати і розпаковувати файли за допомогою перетягання, представляти архіви у вигляді звичайних тек, викликати контекстні меню для упакованих об'єктів, як для об'єктів "Робочого столу" Windows. На архівацію 20-Мбайт масиву даних програми витрачали (у режимі з параметрами за умовчанням) від 1,5 (ArjFolder) до 4 мін (Q Cab). Найкращу міру стискування показала програма Q Cab : створений нею EXE -архив виявився майже на 10% компактніше за інші архіви, які, у свою чергу, розрізнялися за об'ємом на 1-5%.

Кращі з розглянутих програм відносяться до категорії умовно-безкоштовних, некомерційні розробки поступаються їм в різноманітності функцій, сумісності і зручності (хоча і не в ефективності стискування). Лідером огляду є Zip -ориентированные утиліти ZipMagic фірми Mijenix, Zip Explorer Pro компанії Aeco Systems і вже згадана WinZip фірми Nico Mak Computing. Усі вони забезпечують сумісність з великим числом форматів, зручні у використанні. Перші дві програми, правда, вигідно відрізняються від WinZip можливістю роботи з архівами як з теками. Практично не поступається лідерам по зручності і можливостям програма Е. Рошаля WinRAR, але вона орієнтована передусім на не дуже поширений формат RAR, хоча і забезпечує більшість необхідних функцій для маніпулювання Zip -архивами. Тим, хто віддає перевагу безкоштовним утилітам, можна рекомендувати для роботи з Zip -архивами програму Eazy Zip 98, а для роботи з ARJ -архивами — ArjFo

Контрольні запитання

  1. Які стандартні встроєні архіватори інформації є в Windows?
  2. Які алгоритми стискання інформації найбільш поширені?
  3. Які архіватори використовуються з ОС в Windows?

Література

Електроний ресурс: http://student.km.ru/ref show frame.asp?id=802D346E3425

4869B920860B5D9AB22C_