stringtranslate.com

DriveSpace

DriveSpace (первоначально известный как DoubleSpace ) — утилита сжатия дисков , поставляемая с MS-DOS, начиная с версии 6.0 в 1993 году и заканчивая выпуском Windows Me в 2000 году . Целью 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 (с помощью функции DoubleSpace, называемой 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 , что делало его малопригодным для ПК с большими жесткими дисками. [5]

Дисковое пространство в 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 , [6] [7] был разработан в конце 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 году. [8]

Ссылки

  1. ^ ab Schulman, Andrew; Brown, Ralf D .; Maxey, David; Michels, Raymond J.; Kyle, Jim (1994) [ноябрь 1993]. Недокументированная DOS: руководство программиста по зарезервированным функциям и структурам данных MS-DOS — расширено для включения MS-DOS 6, Novell DOS и Windows 3.1 (2-е изд.). Reading, Massachusetts: Addison Wesley . ISBN 0-201-63287-X.-- Эндрю Шульман (1991-03-18). "Ошибки, комментарии и примечания к выпуску для НЕДОКУМЕНТИРОВАННОЙ DOS" . Получено 2019-08-04 .-- Ральф Браун (1994-01-08). "Недокументированная DOS, 2-е издание Errata" . Получено 2019-08-04 .
  2. ^ Ливингстон, Брайан (1993-09-20). «Это хорошая идея — дважды проверить ваш диск на фрагментацию». InfoWorld : 20.
  3. ^ Halfhill, Tom R. (февраль 1994). «Насколько безопасно сжатие данных?». Архивировано из оригинала 2008-06-19.
  4. ^ Эглоустейн, Ховард (февраль 1994 г.). "Потеря данных: предостерегающая история". Архивировано из оригинала 2005-02-19.
  5. ^ www.helpwithwindows.com; HelpWithWindows.com, Ари Слоб (1998-07-14). "Windows 98, FAT32". HelpWithWindows.com . Получено 2024-03-30 .
  6. ^ "DMSDOS - Linux kernel driver". 2005-03-18. Архивировано из оригинала 2016-11-11 . Получено 2016-05-25 .
  7. ^ "DMSDOS CVF module". 0.9.2.0. 1998-11-19. Архивировано из оригинала 2016-11-02 . Получено 2016-11-01 .
  8. ^ Пол, Маттиас Р. (1997-10-02). "Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM". Архивировано из оригинала 2003-10-04 . Получено 2009-03-29 .[1]

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

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