stringtranslate.com

DriveSpace

DriveSpace (первоначально известная как DoubleSpace ) — утилита сжатия диска , поставляемая с MS-DOS, начиная с версии 6.0 в 1993 году и заканчивая 2000 годом с выпуском Windows Me . Цель DriveSpace — увеличить объем данных, которые пользователь может хранить на дисках, путем прозрачного сжатия и распаковки данных на лету. В первую очередь он предназначен для использования с жесткими дисками , но также поддерживается использование и для гибких дисков . Эта функция была удалена в Windows XP и более поздних версиях.

Обзор

Microsoft рекламировала DoubleSpace на обложках дистрибутивов MS-DOS 6 (на фото руководство пользователя MS-DOS 6 с пакетом Windows 3.1 , наклейка DoubleSpace вверху справа)

В наиболее распространенном сценарии использования у пользователя будет один жесткий диск в компьютере, все пространство которого будет отведено одному разделу (обычно диску C:). Программное обеспечение сжимает все содержимое раздела в один большой файл в корневом каталоге. При загрузке системы драйвер выделяет этот большой файл как диск C:, обеспечивая доступ к файлам в обычном режиме.

На решение Microsoft добавить сжатие диска в MS-DOS 6.0 повлиял тот факт, что конкурирующая DR DOS ранее начала включать программное обеспечение для сжатия диска, начиная с версии 6.0 в 1991 году.

Вместо того, чтобы разрабатывать собственный продукт с нуля, Microsoft лицензировала технологию продукта DoubleDisk , разработанную Vertisoft, и адаптировала ее под название DoubleSpace. Например, загрузка драйвера, управляющего сжатием/распаковкой (DBLSPACE.BIN), стала более глубоко интегрирована в операционную систему (загрузка через недокументированный API предварительной загрузки [1] еще до файла CONFIG.SYS ).

Первоначально Microsoft пыталась лицензировать технологию у Stac Electronics , у которой был аналогичный продукт под названием Stacker, но эти переговоры провалились. Позже компания Stac Electronics успешно предъявила иск Microsoft за нарушение патентных прав за нарушение некоторых ее патентов на сжатие. В ходе судебного разбирательства Stac Electronics заявила, что Microsoft отказалась платить какие-либо деньги при попытке лицензировать Stacker, предложив Stac Electronics только возможность разрабатывать усовершенствованные продукты. [ нужна цитата ]

Расход и совместимость

Некоторые компьютерные программы, особенно игры, были несовместимы с DoubleSpace, поскольку они фактически обходили драйвер DoubleSpace. DoubleSpace также потреблял значительный объем обычной памяти , что затрудняло запуск программ, интенсивно использующих память.

Ошибки и потеря данных

Вскоре после его выпуска появились сообщения о потере данных. Компания Blossom Software заявила, что обнаружила ошибку, которая может привести к повреждению данных. Ошибка возникла при записи файлов на сильно фрагментированные диски и была продемонстрирована программой BUST.EXE. Компания продала программу DoubleCheck, которую можно было использовать для проверки условий фрагментации, которые могли привести к ошибке. Позиция Microsoft заключалась в том, что ошибка возникала только в маловероятных условиях, но проблема была устранена в MS-DOS 6.2 . [2]

Условие фрагментации было связано с тем, как DoubleSpace сжимает отдельные кластеры (размером, скажем, 8 КБ) и умещает их на диске, занимая меньше секторов (размером 512 байт), чем фиксированное количество, требуемое без DoubleSpace (16 секторов в этом примере). ). Это создало возможность возникновения своего рода внутренней проблемы фрагментации, из-за которой DoubleSpace не сможет найти достаточное количество последовательных секторов для хранения сжатого кластера, даже если доступно достаточно места.

Другие потенциальные причины потери данных включали повреждение областей памяти DoubleSpace другими программами. Области памяти DoubleSpace не были защищены, поскольку MS-DOS работала в реальном режиме . Microsoft попыталась исправить это в версии DoubleSpace для MS-DOS 6.2 (с помощью функции DoubleGuard , которая проверяла наличие таких повреждений).

Тот факт, что сжатое содержимое сжатого диска хранилось в одном файле, подразумевал возможность того, что пользователь случайно удалит все свои данные, удалив только этот файл. Это могло произойти, если пользователь случайно получил доступ к хост-диску, содержащему этот файл. Хост-диск обычно сопоставлялся с буквой H: драйвером сжатия. Однако, если драйвер сжатия не удалось загрузить, пользователь может увидеть его как диск C:.

Выключение компьютера до того, как DoubleSpace сможет завершить обновление своих структур данных, также может привести к потере данных. Эта проблема усугублялась тем, что Microsoft включила кэширование записи по умолчанию в программном обеспечении дискового кэша SMARTDRV, поставляемом с MS-DOS 6.0. Из-за этого изменения после выхода из приложения приглашение MS-DOS может появиться до того, как все данные будут записаны на диск. Однако из-за отсутствия процедуры контролируемого завершения работы (как в современных операционных системах) многие пользователи рассматривали появление приглашения MS-DOS как указание на то, что можно безопасно выключить компьютер, что обычно имело место раньше. до MS-DOS 6.0. Microsoft решила эту проблему в MS-DOS 6.2, где кэширование записи по-прежнему было включено по умолчанию, но кэш очищался перед повторным появлением командной строки.

Дополнения

Компания AddStor, Inc. предложила дополнительный продукт под названием Double Tools for DoubleSpace . Он содержал ряд инструментов для расширения функций версии DoubleSpace, поставляемой с MS-DOS 6.0. Сюда входят различные функции диагностики, возможность автоматического подключения сжатых съемных носителей по мере их использования, а также поддержка фоновой дефрагментации сжатых дисков DoubleSpace. [3] Для дефрагментации файлов в фоновом режиме можно было позволить DoubleTools заменить низкоуровневый драйвер DoubleSpace (DBLSPACE.BIN) на драйвер, предоставленный DoubleTools. Замена драйвера также позволила улучшить другие функциональные возможности продукта, такие как использование 32-битных кодовых путей при обнаружении процессора Intel 80386 или выше , возможности кэширования и – в дополнение к поддержке использования верхней области памяти – также разрешено использование расширенной памяти для некоторых буферов (уменьшение общего объема памяти, занимаемого драйвером в обычной и верхней памяти, хотя и за счет некоторого снижения скорости). [4] Другой функцией была возможность разделить сжатый том на несколько дискет, имея возможность видеть весь том, вставив только первый диск (и получая приглашение сменить диски по мере необходимости). Также можно было поделиться сжатым томом с удаленным компьютером. Double Tools также имела возможность помещать на сжатые дискеты специальную утилиту , которая позволяла получить доступ к сжатым данным даже на компьютерах, на которых не было DoubleSpace (или Double Tools).

Vertisoft, компания, разработавшая программу DoubleDisk, которую Microsoft впоследствии лицензировала и превратила в DoubleSpace, разработала и продала дополнительную программу DoubleSpace под названием SpaceManager, которая содержала ряд улучшений удобства использования. Он также предлагал улучшенную степень сжатия.

Другие продукты, такие как более поздние версии Stacker от Stac Electronics, были способны конвертировать существующие диски со сжатием DoubleSpace в собственный формат.

Более поздние версии

DriveSpace работает под управлением Windows 3.1 , португальская версия. Левая и правая диаграммы показывают использование диска до и после сжатия соответственно.
  Свободное место
  Используемое пространство

MS-DOS 6.2

В MS-DOS 6.2 появилась новая улучшенная версия DoubleSpace. Добавлена ​​возможность удаления DoubleSpace. Программа SCANDISK , представленная в этом выпуске, смогла сканировать несжатые и сжатые диски, включая проверку внутренних структур DoubleSpace. Функции безопасности (известные как DoubleGuard) были добавлены для предотвращения повреждения памяти, приводящего к потере данных. Затраты памяти драйвера DoubleSpace были уменьшены по сравнению с версией, поставляемой в MS-DOS 6.0. Исправлена ​​проблема фрагментации, описанная выше.

MS-DOS 6.21

После успешного иска компании Stac Electronics относительно продемонстрированного нарушения патентных прав Microsoft выпустила MS-DOS 6.21 без DoubleSpace. Судебный запрет также запретил дальнейшее распространение предыдущих версий MS-DOS, включавших DoubleSpace.

MS-DOS 6.22

MS-DOS 6.22 содержала переработанную версию программного обеспечения для сжатия дисков, но на этот раз выпущенную под названием DriveSpace . Программное обеспечение было по существу идентично версии DoubleSpace для MS-DOS 6.2 с точки зрения пользователя и было совместимо с предыдущими версиями.

Дискспейс в Windows 95

Windows 95 имела полную поддержку DoubleSpace/DriveSpace через собственный 32-битный драйвер для доступа к сжатым дискам, а также графическую версию программных инструментов. Пользователи MS-DOS DriveSpace могли без проблем перейти на Windows 95. Кроме того, Microsoft Plus! для Windows 95 пакет содержал версию 3 DriveSpace. В этой версии представлены новые форматы сжатия (HiPack и UltraPack) с различными характеристиками производительности для еще большей степени сжатия, а также инструмент, который может повторно сжимать файлы на диске в разных форматах в зависимости от того, как часто файлы использовались. Можно было обновить DriveSpace 2 до DriveSpace 3, но не было возможности вернуться к DriveSpace 2. Однако можно было распаковать диск DriveSpace 3. Из-за всех этих новых функций драйвер устройства DOS DriveSpace 3 занимал около 150 КБ памяти. Это вызывало затруднения у пользователей при перезагрузке в режиме MS-DOS Windows 95 для запуска игр из-за меньшего объема доступной обычной памяти .

DriveSpace 3 также поставлялся с Windows 95 OSR2, но многие функции были отключены, кроме Plus! также был установлен. DriveSpace также нельзя было использовать с FAT32, что делало его малопригодным на ПК с большими жесткими дисками.

Дискспейс в Windows 98

Windows 98 поставлялась с DriveSpace 3 как часть операционной системы. Функциональность была такая же, как в Windows 95 с Plus!.

DriveSpace в Windows Me

Из-за прекращения поддержки реального режима , распространения FAT32 и снижения популярности DriveSpace, DriveSpace в Windows Me имел лишь ограниченную поддержку. DriveSpace больше не поддерживал сжатие жесткого диска, но по-прежнему поддерживал чтение и запись сжатых съемных носителей, хотя единственной поддерживаемой операцией DriveSpace, помимо этого, было удаление и перераспределение сжатых дисков.

Можно восстановить полную функциональность DriveSpace 3 (неофициально) в Windows Me, скопировав исполняемый файл из установки Windows 98 и используя его для замены исполняемого файла, включенного в Windows Me. После этого можно было сжимать новые диски, как это делалось в Windows 98.

Поддержка за пределами Microsoft

DMSDOS , драйвер ядра Linux, [5] [6] был разработан в конце 1990-х годов для поддержки чтения и записи дисков DoubleSpace/DriveSpace. Однако чтение и особенно запись в сжатые файловые системы надежны только в определенных версиях ядра 2.0, 2.1 или 2.2.

В то время как DR-DOS поддерживала собственную технологию сжатия диска (первоначально основанную на SuperStor , позже на Stacker ), Novell DOS 7 в 1993 году и выше представила эмуляцию недокументированного API предварительной загрузки, чтобы обеспечить также бесперебойную поддержку DoubleSpace. [1] Поскольку драйверы DR-DOS поддерживали DPMS , а драйверы MS-DOS — нет, это не давало никаких преимуществ пользователям DR-DOS, но позволяло упростить сосуществование или миграцию благодаря возможности совместного использования уже существующих сжатые тома в сценариях мультизагрузки. В DR-DOS 7.02 и выше также добавлена ​​поддержка DriveSpace в 1998 году. [7]

Рекомендации

  1. ^ аб Шульман, Эндрю; Браун, Ральф Д .; Макси, Дэвид; Михелс, Раймонд Дж.; Кайл, Джим (1994) [ноябрь 1993 г.]. Недокументированная DOS: Руководство программиста по зарезервированным функциям и структурам данных MS-DOS - расширено и включает MS-DOS 6, Novell DOS и Windows 3.1 (2-е изд.). Ридинг, Массачусетс: Эддисон Уэсли . ISBN 0-201-63287-Х.-- Эндрю Шульман (18 марта 1991 г.). «Ошибки, комментарии и примечания к выпуску НЕДОКУМЕНТИРОВАННОЙ DOS» . Проверено 4 августа 2019 г.-- Ральф Браун (08 января 1994 г.). «Недокументированная DOS, исправления 2-го издания» . Проверено 4 августа 2019 г.
  2. ^ Ливингстон, Брайан (20 сентября 1993 г.). «Хорошая идея дважды проверить ваш диск на фрагментацию». Инфомир : 20.
  3. ^ Халфхилл, Том Р. (февраль 1994 г.). «Насколько безопасно сжатие данных?». Архивировано из оригинала 19 июня 2008 г.
  4. ^ Эглоштейн, Ховард (февраль 1994 г.). «Потеря данных: поучительная история». Архивировано из оригинала 19 февраля 2005 г.
  5. ^ «DMSDOS — драйвер ядра Linux» . 18 марта 2005 г. Архивировано из оригинала 11 ноября 2016 г. Проверено 25 мая 2016 г.
  6. ^ «Модуль DMSDOS CVF» . 0.9.2.0. 19 ноября 1998 г. Архивировано из оригинала 2 ноября 2016 г. Проверено 1 ноября 2016 г.
  7. ^ Пол, Матиас Р. (2 октября 1997). «Обновление Caldera OpenDOS 7.01/7.02 Alpha 3 IBMBIO.COM». Архивировано из оригинала 4 октября 2003 г. Проверено 29 марта 2009 г.[1]

дальнейшее чтение

Внешние ссылки