Стиснення диска - технологія, яка збільшує ефективну ємність жорстких дисків завдяки зберігання інформації в стислому вигляді і подальшого відновлення і повторному стиску даних при необхідності. Обробка відбувається невидимо для користувача. Час, що витрачається на стиснення і розпаковування даних, може знизити продуктивність, але втрати невеликі і в цілому непомітні. Хоча ризик втрати даних мінімальний, стиснення диска збільшує ймовірність аварій. Кращі утиліти забезпечують максимальний коефіцієнт стиснення даних в поєднанні з найменшими втратами продуктивності і наділені функціями і засобами резервування для запобігання втрати даних.
Всі версії Windows 95 поставляються з утилітою DriveSpace 2, яка може стискати диски ємністю не більше 256 Мбайт до ефективного розміру 512 Мбайт. Якщо ви купите пакет Microsoft Plus, то отримаєте утиліту DriveSpace 3, яка може створювати стислі диски ємністю до 2 Гбайт і забезпечує більш високий коефіцієнт стиснення.
Як відбувається стиснення диска
Утиліти стиснення диска упаковують всі дані з розділу жорсткого диска і зберігають їх у великому файлі, іменованому файлом стиснутого диска (compressed volume file, CVF). CVF зазвичай зберігається на окремому віртуальному диску, який називається хост-диском (host drive). Драйвер, що завантажується до початку виконання CONFIG.SYS, змушує операційну систему сприймати CVF як жорсткого диска.
Утиліти стиснення диска, як правило, використовують метод стиснення LZW, в якому використовується однопрохідний алгоритм, придатний для функціонування в реальному часі. Стиснення здійснюється шляхом кодування інформації таким чином, що файли найбільш поширених типів, що зустрічаються на жорсткому диску, вдається розмістити в меншому просторі. В процесі як стиснення, так і відновлення даних LZW динамічно створює кодіровочний довідник і коригує свій алгоритм в процесі його виконання, домагаючись максимального коефіцієнта стиснення.
Оскільки для стискання та зберігання даних використовуються не такі, як зазвичай, методи, ймовірність помилок зростає. З цієї причини утиліти для стиснення дисків відносяться до найбільш ретельно перевіряється з усіх програмних засобів, що поставляються на ринок, і наділяються засобами самоперевірки і резервування, здатними виправити майже будь-яку помилку.
Періодично виконуючи дефрагментацію CVF, ви зможете зберегти високий коефіцієнт стиснення і звільнити багато місця на жорсткому диску. Розмір вільного простору, який посилає по команді DIR, обчислюється на основі оцінки коефіцієнта стиснення для даного диска. Згодом, у міру того як CVF стає фрагментованим, реальне значення коефіцієнта стиснення може відрізнятися від теоретичного. Щоб отримати точне уявлення про наявний у вашому розпорядженні дискового простору, слід періодично приводити теоретичний коефіцієнт стиснення у відповідність з його реальним значенням. Після виконання дефрагментації диска завжди слід наново визначити теоретичне значення коефіцієнта стиснення.
Якщо ви використовуєте стислі диски, то для управління ними вам знадобляться інструменти, враховують особливості організації стислих дисків. Стандартні програми-дефрагментатори мають справу з кластерами, а фрагментація стислих дисків відбувається на рівні мінімальних виділяються блоків. Переконайтеся в тому, що ваші дискові утиліти сумісні з програмами стиснення, встановленими у вашій системі. Труднощі виникають також при створенні резервних копій стислих дисків. Для резервування необхідно використовувати програмне забезпечення, яке копіює дані на файловому рівні, а не створює образ диска.
Стандартна версія Microsoft Windows 95 поставляється разом з утилітою стиснення диска DriveSpace 2, в якій використовується помірно ефективний метод стиснення і можуть створюватися стислі диски об'ємом до 512 Мбайт. До складу пакета Microsoft Plus входить більш досконала версія програми, DriveSpace 3, яка здатна стискати диски ємністю до 2 Гбайт і забезпечує більш високий коефіцієнт стиснення. Інтерфейс обох утиліт в загальних рисах збігається. Під час інсталяції пакета Microsoft Plus утиліта DriveSpace 2 видаляється.
Так як обидві версії DriveSpace для Windows 95 є 32-розрядні програми, здатні розпізнавати довгі імена файлів, то вони мають перевагу перед утилітою Stacker 4.1, яка залишається 16-розрядної програмою, що використовує в своїх внутрішніх операціях короткі імена файлів. DriveSpace 3 також показала в наших тестах більш високий коефіцієнт стиснення, ніж Stacker 4.1.
Якщо Stacker в чомусь перевершує DriveSpace, то в якості документації. У керівництві по Windows 95 є короткий згадка про утиліту, п'ять сторінок присвячені їй в керівництві по Microsoft Plus, але найбільш докладно DriveSpace документована в Help-файлі допоміжного модуля. Однак навіть там описано не всі. Наприклад, відсутній розділ, в якому пояснювалося б, як вирішувати проблеми, час від часу виникають із стисненими дисками.
Чим вище коефіцієнт стиснення диска, тим більше складна обробка потрібна для підтримки рівня стиснення. Залежно від вашої потреби в обсязі пам'яті і швидкості комп'ютера ви можете вибрати малий коефіцієнт стиснення і високу швидкодію - або, навпаки, віддати перевагу великий коефіцієнт стиснення на шкоду швидкодії.
DriveSpace 3, як і Stacker, передбачає настроюється коефіцієнт стиснення, і ви можете підібрати його значення у відповідності зі своїми потребами. Є три ступені стиснення: Standard (стандартний), HiPack (щільною упаковки) і UltraPack (надщільного упаковки). Динамічне стиснення файлів здійснюється за допомогою методів Standard або HiPack, за вашим вибором. UltraPack, що вимагає більше часу для упаковки та відновлення даних, виявляється корисний для рідко використовуваних файлів. Однак він не може працювати в оперативному режимі без переривання основної роботи. Єдиний спосіб скористатися методом стиснення UltraPack - запустити агент стиснення (Compression Agent) утиліти DriveSpace 3, який відновлює файли, коли комп'ютер не використовується.
Для завантаження, видалення і настройки версій 2 і 3 утиліти DriveSpace передбачений спеціальний графічний модуль; кошти DOS-режиму не використовуються. Нам вдалося просто і без ускладнень створити стислі диски за допомогою обох версій. Ми не зіткнулися з проблемою браку пам'яті та іншими незручностями, виявленими при використанні утиліти Stacker.
Утиліта DriveSpace не настільки добре документована, як Stacker, що заподіює незручності деяким користувачам. Однак під час тестування ми не зустріли ніяких проблем. DriveSpace 3 забезпечує чудові продуктивність, коефіцієнти стиснення, надійність і порівняно з утилітою Stacker являє собою кращий засіб для стиснення дисків в середовищі Windows 95.
Ціна: безкоштовно (поставляється в комплекті з Windows 95).
Необхідні ресурси: ПК на базі процесора 386 або більш потужного, 4-Мбайт ОЗУ (рекомендується 8 Мбайт), 40 Мбайт на жорсткому диску.
Ціна: 49 дол. (Поставляється в складі пакета Microsoft Plus).
Необхідні ресурси: ПК на базі процесора 386 або більш потужного, 8-Мбайт ОЗУ, 25 Мбайт на жорсткому диску.
Microsoft Corp. Redmond, WA; 800-426-9400; fax, 206-635-6100.
Утиліта Stacker, версія 4.1, - нова, розрахована на застосування з Windows 95 редакція утиліти Stacker, версія 4.0, де збереглися сумісність з DOS і Windows 3.1. На відміну від DriveSpace вона представляє собою 16-розрядну прикладну програму. 32-розрядної версії Stacker поки не була анонсована, і фірма Stac Electronics дала ухильну відповідь на наш запит про її подальші плани.
Для переходу на Windows 95 утиліту Stacker потрібно було змінити в двох напрямках: в ній повинні були з'явитися засоби для роботи з довгими іменами файлів і змінений спосіб ідентифікації імен каталогів, щоб не піддавати їх стиснення. (Стиснення каталогів призводить до різкого зниження продуктивності.) Обробка довгих імен файлів проводиться автономної утилітою під назвою SAVELFN, яка забезпечує перетворення довгих імен файлів в короткі і зберігає довгі імена в спеціальному файлі. Програма Stacker, яка використовує в своїх внутрішніх операціях тільки короткі імена файлів, часто - хоча і непомітно для користувача - звертається до цю утиліту.
Що вам дає Stacker
Stacker не може змагатися з утилітою DriveSpace за показниками продуктивності, так як це 16-розрядна програма, і, крім того, потрібно необхідно виконувати додаткову обробку довгих імен файлів. Продуктивність диска, стисненого за допомогою утиліти Stacker, знижувалася на 15-20%, в той час як для дисків, стислих за допомогою DriveSpace, зниження продуктивності становило близько 5%.
Утиліта Stacker надійно функціонує в середовищі Windows 95 і має в своєму розпорядженні більш широким набором інструментів, ніж DriveSpace, але працює повільніше, а процедура початкової установки може змусити вас похвилюватися.
Stacker, версія 4.1
Прогнозована реальна роздрібна ціна: 50 дол.
Необхідні ресурси: 3 Мбайт на жорсткому диску; від 256 до 600 Кбайт нижній пам'яті під час стиснення та відновлення дисків; DOS 3.2 або більш пізня версія; Microsoft Windows 3.0 або 3.1 або Windows 95.
Stac Electronics, San Diego, CA; 800-522-7822, 619-794-4300; fax, 619-794-3717.
Програми стиснення диска. лабораторні випробування
Що означають цифри
Ми припускали, що виконується в захищеному режимі 32-розрядна утиліта Microsoft DriveSpace 2, що поставляється в складі Windows 95, покаже більш високу швидкодію, ніж 16-розрядна утиліта реального режиму Stacker, Version 4.1. Ми також очікували, що оскільки утиліта DriveSpace 3 (що входить в пакет Microsoft Plus) проробляє більш об'ємну роботу, ніж DriveSpace 2, то вона виявиться повільніше. В цьому відношенні сюрпризів не сталося. Однак ми були здивовані тим, наскільки мало швидкодію продуктів відрізнялося від швидкостей нестисненого диска. Утиліта DriveSpace 2 при стандартному коефіцієнті стиснення (виміряний показник склав близько 1,4: 1) показала на процесорі Pentium найшвидший час, всього лише на 3% більше, ніж у нестислого диска. На комп'ютері Compaq 486 з 16-Мбайт ОЗУ погіршення показників склало 5%. На процесорі Pentium утиліта Stacker програла 19% в порівнянні з стислому вигляді диском і поступилася трохи менше, 15%, на 16-Мбайт ПК Compaq 486. (Наші тести Winstone не працювали, коли програма Stacker була встановлена на 8-Мбайт машині Compaq 486.)
Обчислені нами коефіцієнти стиснення постійно опинялися нижче оголошених постачальниками утиліт. Різниця пояснюється тим, що ми керувалися дійсним числом байт, що повідомляються командою DIR, а не числом секторів на файл, що вбирає в себе надмірність, пов'язану з розміром сектора або кластеру.
Як DriveSpace 3, так і Stacker дозволяють користувачеві регулювати коефіцієнт стиснення. Найвищий показник стиснення мала утиліта DriveSpace 3 - обчислений нами результат склав 1,8: 1. Розрахунковий коефіцієнт для Stacker склав 1,7: 1. Одна обмовка: коефіцієнти стиснення і продуктивність сильно залежать від типу файлів.
Як проводилися випробування
Для тестування програм стиснення ми використовували три установки: Compaq Deskpro 486 / 66m з ОЗУ об'ємом 8 Мбайт, Compaq Deskpro 486 / 66m з 16 Мбайт ОЗУ і Hewlett-Packard Vectra XU 5/90 Pentium з ОЗУ ємністю 16 Мбайт. Для визначення продуктивності ми використовували тест Winstone 95 лабораторії PC Labs. Winstone 95 являє собою набір тестів, в якому за допомогою 13 найбільш поширених прикладних програм імітуються процедури, що виконуються реальними користувачами. Для випробувань утиліт DriveSpace 2 і DriveSpace 3 ми інсталювали Windows 95, вибрали параметри стиснення і потім зробили стиснення диска C. У ході першої інсталяції утиліти Stacker ми встановили на машині систему Windows for WorkGroups, потім інсталювали Stacker і виробили стиск диска C. Перейшовши на Windows 95, ми виявили, що при цьому деякі файли були зіпсовані і система зависла. Після звернення в службу технічного обслуговування фірми Stac ми очистили диск і провели інсталяцію заново, отримавши працездатну систему. Ми також виявили, що при відновленні стисненого жорсткого диска великої місткості (540 Мбайт) утиліта Stacker видавала повідомлення про брак пам'яті і виявлялася не в змозі продовжити свою роботу. Фахівці фірми Stac підтвердили існування такої проблеми (над усуненням якої вони працюють) і заявили, що її причина криється в тому, що Stacker використовує звичайну (640 Кбайт) пам'ять для зберігання інформації при виконанні відновлення після стиснення, і її виявляється недостатньо для великих жорстких дисків . В ході подальшого тестування ми починали працювати з чистою системою Windows 95 і потім встановив Stacker, що не викликало ніяких проблем. Всі випробування продуктивності були виконані з параметрами, прийнятими за замовчуванням.
Для перевірки коефіцієнта стиснення ми використовували ту ж саму систему, але створили окремий 70-Мбайт розділ (фізичний розмір) в кожній системі. Для імітації комплекту прикладних програм, наявного на системі типового користувача, ми інсталювали на диску тестовий набір Winstone 94. Winstone 94 на відміну від Winstone 95 під час повної інсталяції встановлює на диску стиснені прикладні програми. Встановивши Winstone 94, ми запустили програму заповнення диска, яка створювала підкаталоги і копіювала в них набір файлів з відновленого після стиснення диска. У наборі були представлені файли EXE, DLL, растрові (BMP, ICO, TIFF), DOC, WAV (звукові), векторні графічні (DWG) і ZIP. Програма продовжує створювати підкаталоги і копіювати файли до тих пір, поки не заповнить весь вільний простір. При інсталяції з параметрами за замовчуванням програма заповнення припинила свою роботу, коли на диску все ще залишався 1 Мбайт вільного простору - ситуація, знайома багатьом користувачам. Після того як диск опинявся фактично заповненим, ми вираховували дійсний коефіцієнт стиснення за формулою:
Число + Число + Прихований
скопі- байт, розмір
рова занима- файлу
тами ка є)
стиснення Фізичний розмір файлу (розділу)
Щоб з'ясувати максимальний коефіцієнт стиснення, якого здатні досягти продукти, ми активізували функцію максимального стиснення і провели один сеанс перепакування. Перепакування файлів утилітою DriveSpace 3 була проведена за варіантом UltraPack за допомогою агента стиснення Compression Agent, а в процесі подальшої експлуатації був встановлений прапор HiPack. У разі утиліти Stacker ми використовували MaxSpace і провели оптимізацію. В обох випадках обсяг пам'яті, доступний в розділі збільшилася, і ми повторювали нашу програму заповнення диска кілька разів поспіль, поки не отримали результат 0 вільних байт на диску.