Розробка теоретичного матеріалу на урок для ліцеїстів 9 класу

 



Тема: Стиснення  та архівація даних. Програми - архіватори.

Основні теоретичні положення, які стосуються поняття стиснення даних.

З розвитком інформаційних технологій гостро поставлено питання щодо способів зберігання даних. Починаючи з 40-х років ХХ ст., вчені розробляють методи представлення даних, за яких простір на носіях інформації використовувався б економніше. Результатом цього стала технологія стиснення даних.

Якщо стиснення інформації застосовують до готових документів, то нерідко термін стиснення даних підміняють терміном архівація даних, а програмні засоби, що виконують ці операції, називають архіватор.

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

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

      .JPG для графічних даних;

      .MPG для відео-даних;

      .МР3 для звукових даних.

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

      .GIF, .TIF, .PCX і багато інших для графічних даних;

      .AVI для відеоданих;

      .ZIP, RJ, .RAR, .LZH, .LH, .CAB і багато інших для будь-яких типів даних.

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

Існує досить багато оборотних методів стиснення даних, однак в їх основі лежить порівняно невелика кількість теоретичних алгоритмів, які детально будуть розглянуті в наступних розділах.

Таблиця 1.1

Властивості алгоритмів стиснення

Алгоритм

Вихідна структура

Сфера застосування

Примітка

RLE (Run-Length Encoding

Список (вектор даних)

Графічні дані

Ефективність алгоритму не залежить від об'єму даних

KWE (Keyword Encoding)

Таблиця даних (словник)

Текстові дані

Ефективний для масивів великого об'єму

Алгоритм Хафмана

Ієрархічна структура (дерево кодування)

Будь-які дані

Ефективний для масивів великого об'єму

Слід зазначити розглянуті в таблиці 1 алгоритми в «чистому вигляді» на практиці не застосовують через те, що ефективність кожного з них сильно залежить від початкових умов. У зв’язку з цим сучасні засоби архівації даних використовують більш складні алгоритми, засновані на комбінації декількох теоретичних методів. Загальним принципом в роботі таких «синтетичних» алгоритмів є попередній перегляд і аналіз початкових даних для індивідуальної настройки алгоритму на особливості матеріалу, що обробляється.

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

До базових функцій, які виконують більшість сучасних диспетчерів архівів, відносяться:

      витягання файлів з архівів;

      створення нових архівів;

      додання файлів в архів, що є;

      створення  архівів, що само-розпаковуються;

      створення розподілених архівів на носіях малої місткості;

      тестування цілісності структури архівів;

      повне або часткове відновлення пошкоджених архівів;

      захист архівів від перегляду і несанкціонованої модифікації.

Архіви, що самі розпаковуються (SFX, від англ. SelF-eXtracting). У тих випадках коли архівація проводиться для передачі документа споживачеві, потрібно передбачити наявність у нього програмного засобу, необхідного для витягання початкових даних з ущільненого архіву. Якщо у споживача немає таких засобів чи основ передбачати їх наявність, створюють архіви що само-розпаковуються. Архів, що сам розпаковується, готується на базі звичайного архіву шляхом приєднання до нього невеликого програмного модуля. Сам архів отримує розширення імені .ЕХЕ, характерне для виконавчих файлів. Споживач зможе виконати його запуск як програми, після чого розпаковування архіву станеться на його комп'ютері автоматично.

Розподілені архіви. У тих випадках коли передбачається передача вели­кого архіву на носіях малої місткості, наприклад на гнучких дисках, можливий розподіл одного архіву у вигляді малих фрагментів на декількох носіях.

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

Методи стискання інформації.

В основі роботи програм-архіваторів лежить процедура пошуку та перекодування однакових фрагментів вмісту файлу.

Наприклад, нехай маємо файл, який містить багато однотипних слів: комп’ютер, комп’ютера, комп’ютерна, комп’ютеризація тощо. Якщо сполучення 9 букв “комп’ютер” замінити простою буквеною комбінацією “чц”, то розглянута система слів перетвориться в систему: “чц”,”чца”,”чцна”,чцізація” тощо. При такий заміні вихідний текст дійсно зменшується. Однак в реальних програмах-архіваторах процедура пошуку та перекодування інформації відбувається значно складніше.

Метод заміни ланцюжків однакових бітів, символів або послідовностей символів одним бітом або послідовністю з коефіцієнтом повторення.

Наприклад: 

Послідовність  ававававававав - (14 байтів) можна замінити на 7ав - (3 байти).

Послідовність ааааааааа - (9 байтів) можна замінити на 9а  - (2 байти).

Існує багато практичних алгоритмів стиснення даних, але всі вони базуються на трьох теоретичних способах зменшення надлишковості даних. Перший спосіб полягає в змін вмісту даних, другий - у зміні структури даних, а третій - в одночасній зміні як структури, так і вмісту даних.

Якщо при стисненні даних відбувається зміна їх вмісту, то метод стиснення є незворотнім, тобто при відновленні (розархівуванні) даних з архіву не відбувається повне відновлення інформації.

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

- Коефіцієнт стиснення – співвідношення обсягів стиснутої і початкової інформації. Вимірюється в процентах.

 Програми для архівування даних.

Програма архівації Win Rar

WinRAR має наступні меню: Файл, Команди, Tools, Інструменти, Параметри і Довідка. Виберіть відповідну назву, щоби прочитати про команди конкретного меню.

Якщо файл, який знаходиться в архіві, зашифрований, то після його імені буде стояти зірочка. Якщо файл продовжується в наступному томі, після його імені будуть стояти символи "-->". Якщо файл продовжується з попереднього тому, після імені будуть стояти символи "<--". А якщо файл продовжується з попереднього і переходить на наступний том, те після його імені будуть стояти символи "<-->".

Перед обробкою файлів їх необхідно позначити. Крім стандартних способів виділення Windows у WinRAR для тієї ж мети використовує кілька додаткових клавіш: Space>, Ins, + і – на цифровій клавіатурі.

Наступні комбінації клавіш можна використовувати для навігації по списку файлів: BS, Ctrl+PgUp чи подвійне клацання мишею на каталозі ".." у списку файлів. Якщо це зробити в кореневому каталозі архіву, архів закриється і відобразиться батьківський каталог. Для переходу до іншого каталогу можна натиснути Enter, Ctrl+PgDn чи двічі клацнути мишею на цьому каталогу. Та ж дія на файлі архіву призведе до відкривання. Для переходу до кореневого каталогу використовується Ctrl+\.

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

Ліва частина вікна WinRAR може містити панель дерева каталогів, якщо це зазначено в підменю "Дерево каталогів " у Параметрах. Дерево каталогів зручно використовувати, якщо є потреба швидко переміщатися дисковими чи архівними каталогами. Ширину дерева каталогів можна змінити, перетягуючи мишею його праву межу.

Внизу вікна WinRAR знаходиться рядок стану. У його лівій частині розташовані дві маленьких іконки: "диск" і "ключ". Клацанням по іконці "диск" можна змінити поточний диск, а по "ключі" – поточний пароль. Дві відповідні команди також є в меню Файл. За замовчуванням, значок "ключ" є жовтим, але якщо введений пароль, він стає червоним. У середній частині рядка стану виводиться інформація про загальний розмір виділених файлів чи про поточну операцію. У правій частині рядка стану відображається загальну кількість файлів у поточному каталозі та їх розмір.

Режими управління файлами та архівами. Середовище WinRAR може бути в одному з двох основних станів: режим управління файлами та архівами.

У цьому режимі можна змінювати поточний каталог (дійсний чи архівний). Натисканням BS, Ctrl+PgUp чи подвійним клацанням на каталозі з ім'ям ".." можна перейти до батьківського каталогу диску чи архіву. Ця ж дія закриє архів та поверне WinRAR до режиму управління архівами під час переглядання кореню архівного каталогу. Натисканням Enter, Ctrl+PgDn чи за допомогою подвійного клацання на будь-якому каталозі до нього можна увійти, така ж дія, застосована до архіву, відкриває його. Комбінація Ctrl+\ встановлює каталог у корені в якості поточного.



Щоби увійти до режиму управління файлами, необхідно запустити WinRAR подвійним клацанням на його іконці чи запуском WinRAR з командного рядка без параметрів.

Щоби увійти до режиму управління архівами, необхідно запустити WinRAR у режимі управління, встановити курсор на потрібний архів та натиснути Enter або використати команду "Відкрити архів" з меню Файл. Можна просто двічі клацнути на імені архіву в середовищі Windows, щоби відкрити його у WinRAR, але WinRAR повинен бути асоційований з архівами під час інсталяції або пізніше за допомогою діалогу Інтеграція. І нарешті, до архіву можна увійти з командного рядка, якщо ім'я архіву передається WinRAR як єдиний параметр.

Вибір файлів. Перед виконанням будь-яких операцій необхідно зазначити всі файли каталоги, що оброблятимуться, у списку файлів WinRAR.

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

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

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

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

Послідовність дій, описана вище, змінюється, якщо Enter натискається на файлі архіву, що має розширення .exe. У цьому випадку WinRAR видобуває не лише цей файл, але й увесь вміст архіву, до тимчасового каталогу, а тоді запускає виконуваний файл. Наступні кроки подібні до описаних вище: WinRAR чекає на кінець роботи виконуваного файлу, потім перевіряє час зміни видобутих файлів, і, якщо він змінився або були створені нові файли, пропонує оновити архів. Тоді тимчасовий каталог та його вміст видаляються. Такий метод обробки exe-файлів дозволяє програмам запускатися на виконання безпосередньо з архіву. Наприклад, його можна використовувати для інсталяції нових програм без розпаковування дистрибутиву вручну, можна просто увійти до архіву та натиснути Enter на файлі setup.exe чи install.exe тощо.

 

Програми архівації 7-Zip

7-Zip – це файловий архіватор для Windows з високим ступенем стискування. Програма вільно розповсюджується на умовах ліцензії GNU LGPL. Також доступна консольна версія для систем стандарту POSIX – p7zip.




Основні характеристики 7-Zip:

        Підтримувані формати:

      повністю: 7z, Zip, gzip bzip2, TAR.

      частково (тільки розпаковування і перегляд): CAB, Rar, ARJ, CPIO, RPM, DEB, Z, LZH, CHM, SPLIT.

        Дуже високий ступінь стискування в новому форматі 7z завдяки використанню вдосконаленого алгоритму Лемпела-Зіва.

        Для форматів ZIP і GZIP ступінь стискування на 2-10 % вище, ніж у PKZip і WinZip.

        Можливість створення архівів, що саморозпаковуються, для формату 7z.

        У форматі 7z можливо створювати багатотомні архіви (у наст. час за винятком тих, що саморозпаковуються)

        Можливість шифрування архівів, алгоритмом AES з довжиною ключа 256 біт (для формату 7z).

        Інтеграція в оболонку Windows.

        Плагін для програми FAR Manager.

        Плагін для програми Total Commander.

        Мультимовний графічний інтерфейс (тільки для Windows) з функціями двовіконного файлового менеджера.

        Могутня версія для командного рядка.

        Існує версія для 32 розрядних і 64 розрядних систем.

Ступінь стискування

Результати по ступеню стискування сильно залежать від даних, що стискуються. Звичайно 7-Zip стискує у формат 7z на 30-50 % краще, ніж у формат zip, а у формат zip – на 2-10 % краще, ніж інші zip-сумісні архіватори.

В більшості випадків ступінь стискування вищий, ніж у RAR, за винятком деякі мультимедіа-даних. Швидкість стискування при цьому нижча, але не критично (як правило, не більше ніж на 30%).

Більше того, вважається, що за ступенем стискування 7-Zip поступається тільки архіваторам PAQ і його GUI-модифікації KGB, які, проте, мають на порядок більший час стискування.

Достоїнства і недоліки

Достоїнства:

      вільне ПО (розповсюджується за ліцензією GNU LGPL)

      безкоштовність;

      високий ступінь стискування;

      висока швидкість розпаковування;

      багатопотокове стискування.

Недоліки:

      у програмі є багато додаткових настройок, у зв'язку з чим можливі труднощі для користувачів-початківців;

      стискування даних відбувається на третину повільніше ніж у багатьох популярних архіваторах, при стискуванні деяких мультимедіа-даних поступається RAR'у;

      довідка на українській або іншій мові відсутня.

 Програма архівації  WinZip.

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

Створення нового архіву. Для створення нового архіву необхідно спочатку реалізувати одну з наступних дій:

      виконати команду File New Archive...;

      натиснути поєднання клавіш Ctrl-N;

      вибрати кнопку New на панелі інструментів.

Після цього слід в діалоговому вікні вказати назву створюваного архіву, а також вибрати каталог, в якому він буде розташований, після чого натиснути кнопку ОК. В результаті описаних дій буде створений новий архів, назву якого буде відображено в заголовку вікна WinZip.


Відкриття існуючого архіву. Процес відкриття існуючого архіву багато в чому аналогічний операції створення, розглянутій вище. Для того, щоб відкрити архів, слід виконати одну з наведених нижче дій:

      виконати команду File Open Archive...;

      натиснути поєднання клавіш Ctrl-O;

      вибрати кнопку Open на панелі інструментів.

Подальші дії аналогічні тим, які необхідно виконувати при створенні архіву.

Додавання файлів в архів. Для додавання файлів у відкритий або створений архів, необхідно виконати наступну послідовність дій:

      натиснути кнопку Add на панелі інструментів, виконати команду Actions Add або натиснути поєднання клавіш Shift-A;

      у діалоговому вікні Add, що з'явилося, необхідно вибрати файли, які необхідно додати, за допомогою списку файлів і рядка вибору каталогу Add або за допомогою вказівки імен файлів або шаблонів в рядку Ім'я файлу. Щоб за допомогою списку додати в архів не один, а декілька файлів, слід вибирати їх по черзі клацанням миші при натиснутій клавіші Ctrl. Режим додавання або переміщення файлів визначається настройкою Action (Add... – додати. Move... – перемістити). У рядку Compression можна задати тип стискування файлів, що додаються в архів. Для того, щоб задати пароль на відкриття архіву, можна скористатися кнопкою Password. Після виконання всіх необхідних дій слід натиснути кнопку Add.

Видобування файлів з архіву. Для видобування файлів з відкритого архіву необхідно виконати наступну послідовність дій:

1. Виділити файли, які потрібно видобути.

2. Виконати команду Actions \ Extract, натиснути кнопку Extract на панелі інструментів або натиснути поєднання клавіш Shift-E.

3. У діалоговому вікні Extract, що з'явилося, вказати в рядку Extract to: шлях до каталогу, в який потрібно видобути файли, або вибрати необхідний каталог із списку. Якщо каталог не існує, то його можна створити за допомогою кнопки New Folders.

Після цього в настройці Files вказати один з параметрів для видобування:

Selected Files – виділені файли;

All Files – всі файли;

Files:вказані файли або файли, відповідні вибраному шаблону.

Після визначення всіх необхідних параметрів необхідно натиснути кнопку Extract.

Видалення файлів з архіву. Щоб видалити файли з відкритого архіву, потрібно виконати наступні дії:

      виділити файли, які потрібно видалити:

      виконати команду Actions Delete або натиснути поєднання клавіш Shift-D або клавішу Delete;

      у діалоговому вікні Delete, що з'явилося, перед натисненням кнопки Delete слід в настройці Files вибрати необхідний пункт (аналогічно діалогу Extract, розглянутому вище).

Перегляд вибраного файлу в архіві. Для того, щоб переглянути у відкритому архіві вибраний файл, слід скористатися кнопкою View на панелі інструментів, виконати команду Actions View або натиснути поєднання клавіш Shift-V. У діалоговому вікні View, що з'явилося, необхідно вибрати програму для перегляду вмісту файлу (за умовчанням – стандартний текстовий редактор Блокнот) і натиснути кнопку View.

Перевірка файлів в архіві. Для перевірки архіву на цілісність необхідно виконати команду ActionsTest або натиснути поєднання клавіш Shift-T. Після того, як перевірка буде закінчена, на екрані відобразиться вікно звіту про отримані результати.

Програма архівації Win Ace.

WinAce - архіватор файлів для Windows, що включає власний формат «ACE» і має підтримку інших широко поширених форматів архівів, таких як ZIP, RAR і MS-CAB. Версія програми для DOS називається Commandline ACE. Має можливість створювати безперервні ACE архіви, тобто необмеженого розміру. Може створювати цифровий підпис. Інтегрований в оболонку Windows. Також доступна безкоштовна версія консольної версії програми для витягання файлів, так званої Unace для Mac OS X і Linux.



Цей потужний і в той же час легкий у використанні архіватор, призначений не тільки для архівації даних з використанням стандарту Ace, але і для стиснення файлів в ZIP, LHA, MS-CAB, JAVA JAR. Підтримуються всі необхідні для зручної і швидкої архівації файлів функції: створення багатотомних і саморозгортальних архівів, перегляд графічних, HTML, MS WORD і текстових файлів, перевірка цілісності архівів з можливістю відновлення архівів ZIP і ACE.

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

Основні можливості архиватора:

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

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

Переваги:

·      потужні алгоритми стиснення

·      можливість перегляду даних

·      якісне шифрування інформації

·      інтеграція з командним рядком

·      перевірка вмісту на віруси за допомогою встановленого відповідного ПО

Недоліки:

·      платна ліцензія

·      відсутність підтримки RAR

·      великий розмір дистрибутива

·      середній ступінь компресії

·      Недостатня швидкість роботи

 

Коментарі

Популярні дописи з цього блогу

Рейтинг мов програмування за кривою вивчення