Архіватори
Часто на сучасних
ПК потрібно зберігати дані (графічні, звукові, відео), які потребують багато пам’яті. Для економії обсягу
зовнішньої пам'яті, де зберігаються такі дані, здійснюється їх стиснення.
Стиснення
даних - це процес перекодування початкового файла даних у новий
файл меншого розміру, з якого можна відновити початковий.
На сьогоднішній день розроблено багато різних алгоритмів стиснення, вони використовують різні методи,
але в основі більшості з них лежить принцип заміни рівномірного двійкового коду
на нерівномірний.
Один з найпростіших полягає в тому, що на
кодування символів, які використовуються часто відводиться менше бітів, ніж для
кодування символів, частота використання яких невелика. Наприклад, алгоритми
архівації Шенона-Фано. Інший алгоритм передбачає пошук у вихідному файлі
ланцюжків символів, які повторюються, створення “бібліотеки” таких ланцюжків і
кодування кожного з них коротким (переважно дво- або трибайтним) номером. Алгоритм арифметичного стиску
будує коди символів на проміжку (0,1].
Розглянемо метод Шенона-Фано. Спочатку складається таблиця, в якій для кожного
символу, з яких складаються вхідні дані, вказується кількість його входжень,
символи сортуються в порядку спадання кількості
входжень, а далі здійснюється кодування цих символів: вся таблиця ділиться на дві групи так, щоб у
кожній групі сумарна кількість входжень всіх символів була по можливості
однаковою, символам першої групи присвоюється кодове значення 0, а символам
другої — 1; кожна з підгруп аналогічним чином
ділиться на дві групи і так доти, доки в кожній підгрупі не залишиться
по одному символу; результуючий код кожного
символу складається з кодів тих підгруп, до яких цей символ входив у
процесі поділу таблиці. Для прикладу
побудуємо послідовність кодів за методом Шенона-Фано для слова «абракадабра».
Символ
|
Кількість
входжень
|
|
|
|
|
а
|
5
|
0
|
|
|
|
б
|
2
|
1
|
0
|
|
|
р
|
2
|
1
|
1
|
0
|
|
к
|
1
|
1
|
1
|
1
|
0
|
д
|
1
|
1
|
1
|
1
|
1
|
Отже,
отримаємо такі коди символів: а - 0, б – 10,
р – 110, к – 1110, д – 1111.
Тоді
слово «абракадабра»
по методу Шенона-Фано закодується так:
0 10 110 0 1110 0 1111 0 10 110 0
а б
р а к
а д а
б р а
Як бачимо, у випадку кодування цього слова за допомогою ASCII-кодів у пам'яті машини воно займатиме 11 байт
(бо 11 літер у слові, кожне з яких кодується 1 байтом), а після стискування за
методом Шенона-Фано — 3 байти (фактично потрібно 23 біти).
Алгоритми стиснення даних поділяються на
алгоритми з втратами і без втрат.
Стиснення без втрат – таке стиснення, при
якому файл, відновлений зі стиснутого, повністю відповідає оригіналу.
Стиснення з втратами – таке стиснення, коли у відновленому
файлі є спотворення, але для людини вони не помітні.
Стиснення
без втрат застосовується для текстових і числових даних, програм, тому що
відсутність навіть одного символу може призвести до неправильного тлумачення
слова, збою виконання програми, а стиснення з втратами – для графічних
(зокрема, формат *.jpg), звукових і відеоданих.
Алгоритм
стиснення з втратами полягає у поділі зображення (фотографії,відеокадру) на
ділянки з кількох пікселів і надання цій ділянці кольору, середнього для цих
пікселів.
Стиснення
даних характеризується двома основними параметрами:
1. Коефіцієнтом стиснення, який
визначається відношенням обсягу стиснутого файлу до обсягу початкового файла.
Значення цього коефіцієнта міститься в межах від 1 (стиснення вже стиснутих
даних) до 10 і більше.
2.
Швидкістю стиснення, якам визначає
тривалість процесу стиснення і наступного відновлення даних з архіву.
Стиснення
даних здійснюється за допомогою спеціальних програм. У Windows XP та
наступних версіях для цього використовують вбудовані програмні засоби. Вони
виконують стиснення на тих зовнішніх пристроях, які підтримуються файловою
системою NTFS.
Стиснення
даних в ОС Windows 7 виконується так:
1.
У програмі Провідник виділити об'єкти
(папки, файли), які потрібно стиснути. Тоді у контексному меню виділених об'єктів виконати команду Властивості.
2.
Відкриється вікно Властивості, на
закладці Загальні бачимо скільки
файлів містять виділені папки і скільки пам'яті вони займають на диску.
Потрібно натиснути кнопку Додатково...,
тоді відкриється вікно Додаткові
атрибути. У цьому вікні увімкнути прапорці Дозволити індексування вмісту цих файлів... і Стискати вміст для заощадження місця на диску, натиснути кнопку ОК. Тоді відкриється вікно Підтвердження зміни атрибутів.
3.
У цьому вікні увімкнути перемикач для вкладених папок і файлів, натиснути
кнопку ОК. Тоді починається процес стиснення, який може
тривати від кількох секунд до десятків хвилин (це залежить від обсягу виділених
об'єктів).
Стиснуті
об'єкти
у вікні програми Провідник виділені
іншим кольором. Для перегляду результатів стиснення потрібно виділити
відповідні об'єкти
і виконати команду Властивості у їх
контексному меню.
Для
скасування стиснення папок і файлів потрібно виділити їх, відкрити вікно Додаткові атрибути і вимкнути у ньому
прапорець Стискати вміст для заощадження
місця на диску, натиснути кнопку ОК.
Окремим
випадком стиснення файлів є їх архівування.
Архівування
- це стиснення кількох файлів і об'єднання їх в один архівний файл для
довготривалого його зберігання або передавання.
Для
архівації файлів використовують спеціальні програми, які називають архіваторами, Перші архіватори з'явилися в 1985 р.
Основними можливості сучасних архіваторів є:
занесення цілих груп файлів та підкаталогів в архів, поновлення архіву, перегляд файлів в архіві,
вилучення файлів з архіву, захист файлів
від несанкціонованого доступу, перевірка цілісності архіву, створення
багатотомних архівів та архівів, які автоматично розкриваються тощо. Сучасні
архіватори дозволяють економити від 20 до 90% дискового простору.
Файлом,
який міститься в архіві, можна скористатися лише після того, як він буде відновлений
у початковому вигляді, тобто розархівований. Розархівацію виконують або ті ж
самі архіватори, або окремі
програми, які називають розархіваторами.
Широке
поширення отримали програми-оболонки архіваторів, або архіватори із вбудованими функціями оболонок, які дозволяють у
зручному інтерактивному режимі працювати з архівами. Першою такою
програмою-оболонкою була програма RAR, яка застосовувалась в ОС DOS. Для ОС Windows використовуються програми: WINRAR, WINZIP, 7-ZIP. Ці програми
дозволяють переглядати вміст архівних файлів (різних типів), розархівовувати файл або групу файлів, знищувати файли в архіві та
інше. Сучасні архіватори мають зручний інтерфейс, забезпечують високий ступінь
стиснення, працюють не лише з файлами власного формату, а й з файлами інших
форматів.
Деякі оболонки
операційних систем (наприклад, Far Manager, Windows Commander) мають власні засоби для роботи з архівами.
Заархівувати
кілька об'єктів можна декількома способами:
1. Відкрити вікно програми-архіватора (наприклад, WINRAR), вибравши пункт Усі програми головного меню Windows. За допомогою команди Змінити диск меню Файл перейти
на диск, де містяться дані для архівування, виділити потрібні об'єкти. Тоді натиснути кнопку Додати або вибрати команду Додати
файли до архіву меню Команди. Відкриється
вікно Ім'я та параметри архіву. У
цьому вікні ввести нове ім'я архіву або погодитись із запропонованим, таком
можна вибрати формат архіву, метод стиснення (звичайний, найкращий, ...) та
інші параметри.
2. Виділити потрібні об'єкти, у їх контексному меню задати команду Додати файли до архіву, задати ім'я архіву та деякі параметри.
Щоб переглянути заархівовані файли, їх потрібно видобути
з архіву. Це можна виконати декількома способами:
1. У вікні програми-архіватора (наприклад, WINRAR), знайти і відкрити архівну папку (двічі
клікнути на її імені). Виділити папки і файли, які потрібно розархівувати і
натиснемо кнопку Видобути до... або
виконати команду Видобути файли до
зазначеної папки меню Команди.
Відкриється вікно Шлях та параметри
видобування, тоді ввести ім'я папки, до якої запишуться об'єкти з архіву, і
натиснути кнопку ОК.
2. У контексному меню
архівної папки вибрати команду Видобути
файли до зазначеної папки.
Також можна створювати архіви,
які саморозпаковуються. Для їх
розпакування не потрібно ніяких програм. Ці архіви мають розширення ехе. Переважно,
їх використовують для пересилання файлів мережею Інтернет, якщо невідомо, чи
має отримувач відповідну програму-архіватор.
Для створення
саморозпаковувального архіву потрібно у вікні Ім'я та параметри архіву програми WINRAR увімкнути прапорець Створити SFX-архів.
Обмеження розмірів
носіїв даних і обмеження розмірів файлів, які можуть бути приєднані до
електронних листів, спричинили потребу в створенні багатотомних архівів.
Для створення
багатотомного архіву потрібно у вікні Ім'я
та параметри архіву програми WINRAR вказати обсяг тому у полі Розбити
на томи розміром. За замовчуванням кожний том отримує ім'я Ім'я_тому.partNNN, де NNN - номер тому. Для розпаковування архіву всі томи мають зберігатись
в одній папці, а розпаковувати їх слід починати з першого.
Література:
Гуржій,
Карташова, Лапінський, Руденко, Інформатика 8 клас, ст. 73