Для перехода на Windows 95 утилиту Stacker нужно было изменить в двух направлениях: в ней должны были появиться средства для работы с длинными именами файлов и изменен способ идентификации имен каталогов, чтобы не подвергать их сжатию. (Сжатие каталогов приводит к резкому снижению производительности.) Обработка длинных имен файлов производится автономной утилитой под названием SAVELFN, которая обеспечивает преобразование длинных имен файлов в короткие и сохраняет длинные имена в специальном файле. Программа Stacker, которая использует в своих внутренних операциях только короткие имена файлов, часто - хотя и незаметно для пользователя - обращается к этой утилите.
Что вам дает Stacker
Stacker не может соперничать с утилитой DriveSpace по показателям производительности, так как это 16-разрядная программа, и, кроме того, требуется необходимо выполнять дополнительную обработку длинных имен файлов. Производительность диска, сжатого с помощью утилиты Stacker, снижалась на 15-20%, в то время как для дисков, сжатых с помощью DriveSpace, снижение производительности составляло около 5%.
Превосходство Stacker, однако, заключается в более высоком, чем у DriveSpace, коэффициенте сжатия. Малый размер выделяемых блоков (16 байт вместо 512 байт) и другие усовершенствованные методы дают утилите Stacker преимущество, принесшее ей нашу награду за техническое совершенство (в конце 1994 г.). Номинальное среднее значение коэффициента сжатия Stacker составляет 2,5:1 или выше. В наших тестах были получены более низкие показатели, но это, возможно, объясняется конкретными особенностями сжимаемых файлов. Проводя сравнительную оценку, мы обнаружили, что Stacker имеет небольшое преимущество перед DriveSpace 2 и немного уступает DriveSpace 3.
Несмотря на надежное функционирование Stacker в среде Windows 95, вам следует быть осторожными при сжатии и восстановлении дисков с помощью этой утилиты. Наиболее уязвимая часть процедуры - стадия дефрагментации, целиком протекающая в нижней памяти. Если размер обычной памяти окажется недостаточным, то на экран выводится пугающего вида красный прямоугольник с сообщением "Fatal Error" (Необратимая ошибка) и выполнение программы прекращается. Когда мы перезапустили процесс, выделив ему дополнительную нижнюю память и выполнив утилиты восстановления, следуя инструкциям, содержащимся в сообщении об ошибке, программа Stacker смогла довести обработку диска до конца без потери данных. Предупреждение: не принимайте предложение Stacker временно удалить резидентные программы, чтобы автоматически расширить память. В среде Windows 95 этот прием не срабатывает. В действительности размер доступной памяти уменьшится, что повлечет за собой необратимый отказ.
Stacker сжимает диски в процессе инсталляции, и наиболее надежный способ произвести сжатие - выполнить утилиту в среде DOS. Для инсталляции Stacker инициализируйте систему в режиме DOS и запустите процедуру Setup из командной строки. Перед тем как попытаться сжать или восстановить диск, убедитесь, что располагаете по меньшей мере 600 Кбайт нижней памяти. (Вы можете изменить строку buffer = x в файле CONFIG.SYS, чтобы уменьшить требуемый размер нижней памяти до 256 Кбайт.) Если вы не можете освободить достаточное пространство в нижней памяти, удалив драйверы и резидентные программы, то есть смысл временно передать в распоряжение диспетчера памяти адресное пространство видеопамяти VGA, занимающее область A000 - AFFF. При условии что вы загружаетесь в режиме командной строки, этот прием предоставит в ваше распоряжение обширное пространство в нижней памяти, не вызывая конфликтов. Завершив процедуру сжатия диска, вы можете заново перезапустить утилиту Setup в среде Windows, чтобы разместить инструменты Stacker на вашем "рабочем столе".
Утилита 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 свободных байт на диске.
КОЭФФИЦИЕНТЫ СЖАТИЯ | ||
Объявленныйкоэффициент (x:1) | Вычисленныйкоэффициент (x:1) | |
Compaq Deskpro 486/66 (8-Мбайт ОЗУ) | ||
DriveSpace 2 | 1,6 | 1,5 |
DriveSpace 3 | 2,1 | 1,5 |
Stacker 4.1 | 1,6 | 1,5 |
Compaq Deskpro 486/66 (16-Мбайт ОЗУ) | ||
DriveSpace 2 | 1,6 | 1,4 |
DriveSpace 3 | 2,1 | 1,5 |
Stacker 4.1 | 1,6 | 1,5 |
HP Vectra Pentium/90(16 Мбайт ОЗУ) | ||
DriveSpace 2 | 1,6 | 1,4 |
DriveSpace 3 | 2,1 | 1,5 |
Stacker 4.1 | 1,7 | 1,5 |
Максимальный коэффициент сжатия (HP Vectra Pentium/90) | ||
DriveSpace 3 | 2,6 | 1,8 |
Stacker 4.1 | 1,8 | 1,7 |
Чем больше цифры, тем лучше результат.
WINSTONE 95 | ||||
Оценка | ||||
DriveSpace 2 | DriveSpace 3 | Stacker 4.1 | Несжатый жесткийдиск | |
HP Vectra Pentium/90(16-Мбайт) | 116 | 116 | 97 | 119 |
Compaq Deskpro 486/66(16-Мбайт) | 66 | 66 | 59 | 69 |
Compaq Deskpro 486/66(8-Мбайт) | 48 | 49 | N/A | 55 |
Чем больше цифры, тем лучше результат.
N/A - неприменимо. Данный продукт не выполнил этот набор тестов.