Е файлів при архівації
Всі алгоритми стиснення оперують вхідним потоком інформації з метою отримання більш компактного вихідного потоку за допомогою деякого перетворення. Основними технічними характеристиками процесів стиснення і результатів їх роботи є:
· Ступінь стиснення - відношення обсягів вихідного і результуючого потоків;
· Швидкість стиснення - час, що витрачається на стиснення деякого обсягу інформації вхідного потоку, до отримання з нього еквівалентного вихідного потоку;
· Якість стиснення - величина, що показує, на скільки сильно упакований вихідний потік при застосуванні до нього повторного стиснення за тим же або іншим алгоритмом.
Алгоритми, які усувають надмірність записи даних, називаються алгоритмами стиснення даних, або алгоритмами архівації. В даний час існує величезна безліч програм для стиснення даних, заснованих на декількох основних способи.
Всі алгоритми стиснення даних діляться на:
) Алгоритми стиснення без втрат, при використанні яких дані на приймальні відновлюються без найменших змін;
) Алгоритми стиснення з втратами, які видаляють з потоку даних інформацію, незначно впливає на суть даних, або взагалі не сприймається людиною.
Існує два основні методи архівації без втрат:
алгоритм Гоффмана (англ. Huffman), орієнтований на стиснення послідовностей байт, не пов'язаних між собою,
алгоритм Лемпеля-Зива (англ. Lempel, Ziv), орієнтований на стиснення будь-яких видів текстів, тобто використовує факт неодноразового повторення "слів" - послідовностей байт.
Практично всі популярні програми архівації без втрат (ARJ, RAR, ZIP тощо) використовують об'єднання цих двох методів - алгоритм LZH.
Алгоритм заснований на тому факті, що деякі символи зі стандартного 256-символьного набору в довільному тексті можуть зустрічатися частіше середнього періоду повтору, а інші, відповідно, - рідше. Отже, якщо $ + o записи поширених символів використовувати короткі послідовності біт, довжиною менше 8, а для запису рідкісних символів - довгі, то сумарний обсяг файлу зменшиться.
4.Показатели ступеня стиснення файлів
Стиснення інформації в архівних файлах виробляється за рахунок усунення надмірності різними способами, наприклад за рахунок спрощення кодів, виключення з них постійних бітів або подання повторюваних символів або повторюваної послідовності символів у вигляді коефіцієнта повторення і відповідних символів. Алгоритми подібного стиснення інформації реалізовані в спеціальних програмах-архіваторах (найбільш відомі з яких arj / arjfolder, pkzip / pkunzip / winzip, rar / winrar) застосовуються певні стискає можуть як один, так і декілька файлів, які в стислому вигляді поміщаються в так званий архівний файл або архів.
Метою упаковки файлів зазвичай є забезпечення більш компактного розміщення інформації на диску, скорочення часу і відповідно вартості передачі інформації по каналах зв'язку в комп'ютерних мережах. Тому основним показником ефективності тієї чи іншої програми-архіватора є ступінь стиснення файлів.
Ступінь стиснення файлів характеризується коефіцієнтом Кс, який визначається як відношення обсягу стисненого файлу Vc до обсягу вихідного файлу Vо, виражене у відсотках (в деяких джерелах використовується зворотне співвідношення):
Ступінь стиснення залежить від використовуваної програми, методу стиснення і типу вихідного файлу.
Найбільш добре стискаються файли графічних образів, текстові файли і файли даних, для яких коефіцієнт стиснення може досягати 5 - 40%, менше стискуються файли виконуваних програм і завантажувальних модулів Кс = 60 - 90%. Майже не стискуються архівні файли. Це неважко пояснити, якщо знати, що більшість програм-архіваторів використовують для стиснення варіанти алгоритму LZ77 (Лемпеля-Зива), суть якого полягає в особливому кодуванні повторюванихпослідовностей байт (читай - символів). Частота народження таких повторів найбільш висока в текстах і точкової графіку і практично зведена до нуля в архівах.
Крім того, програми для архівації все-таки різняться реалізаціями алгоритмів стиснення, що відповідно впливає на ступінь стиснення.
В деякі програми-архіватори додатково включаються кошти, спрямовані на зменшення коефіцієнта стиснення Кс. Так в програмі WinRAR реалізований механізм безперервного (solid) архівування, при використанні якого може бути досягнута на 10 - 50% вищий ступінь стиснення, ніж дають звичайні методи, особливо якщо упаковується значна кількість невеликих файлів однотипного змісту.
Характеристики архиваторов - назад залежні величини. Тобто, чим більше швидкість стиснення, тим менше ступінь стиснення, і навпаки.
На комп'ютерному ринку пропонується безліч архіваторів - у кожного свій набір підтримуваних форматів, свої плюси і мінуси, своє коло шанувальників, котрі щиро вірять в те, що вони використовують архіватор найкращий. Не будемо нікого і ні в чому переконувати - просто спробуємо неупереджено оцінити найпопулярніші архіватори в плані функціональності і ефективності. До таких віднесемо WinZip, WinRAR, WinAce, 7-Zip - вони лідирують за кількістю скачувань на софтових серверах. Розглядати інші архіватори навряд чи доцільно, оскільки відсоток застосовують їх користувачів (судячи по числу завантажень) невеликий.