DriveSpace
Другие имена | Двойное пространство (DBLSPACE) |
---|---|
Разработчик(и) | Вертисофт , Майкрософт |
Первоначальный выпуск | 1993 год |
Операционная система | MS-DOS , Windows 9x. |
Тип | Команда |
DriveSpace (первоначально известная как DoubleSpace ) — утилита сжатия диска , поставляемая с MS-DOS, начиная с версии 6.0 в 1993 году и заканчивая 2000 годом с выпуском Windows Me . Цель DriveSpace — увеличить объем данных, которые пользователь может хранить на дисках, путем прозрачного сжатия и распаковки данных на лету. В первую очередь он предназначен для использования с жесткими дисками , но использование и для гибких дисков также поддерживается . Эта функция была удалена в Windows XP и более поздних версиях.
Обзор
[ редактировать ]В наиболее распространенном сценарии использования у пользователя будет один жесткий диск в компьютере, все пространство которого будет отведено одному разделу (обычно диску 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 в собственный формат.
Более поздние версии
[ редактировать ]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]
Ссылки
[ редактировать ]- ^ Перейти обратно: а б Шульман, Эндрю; Браун, Ральф Д .; Макси, Дэвид; Михелс, Раймонд Дж.; Кайл, Джим (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 г.
- ^ Ливингстон, Брайан (20 сентября 1993 г.). «Хорошая идея дважды проверить ваш диск на фрагментацию» . Инфомир : 20.
- ^ Хафхилл, Том Р. (февраль 1994 г.). «Насколько безопасно сжатие данных?» . Архивировано из оригинала 19 июня 2008 г.
- ^ Эглоштейн, Ховард (февраль 1994 г.). «Потеря данных: поучительная история» . Архивировано из оригинала 19 февраля 2005 г.
- ^ www.helpwithwindows.com; HelpWithWindows.com, Ари Слоб (14 июля 1998 г.). «Виндовс 98, FAT32» . HelpWithWindows.com . Проверено 30 марта 2024 г.
- ^ «DMSDOS — драйвер ядра Linux» . 18 марта 2005 г. Архивировано из оригинала 11 ноября 2016 г. Проверено 25 мая 2016 г.
- ^ «Модуль DMSDOS CVF» . 0.9.2.0. 19 ноября 1998 г. Архивировано из оригинала 2 ноября 2016 г. Проверено 1 ноября 2016 г.
- ^ Пол, Матиас Р. (2 октября 1997 г.). «Обновление Caldera OpenDOS 7.01/7.02 Alpha 3 IBMBIO.COM» . Архивировано из оригинала 4 октября 2003 г. Проверено 29 марта 2009 г. [1]
Дальнейшее чтение
[ редактировать ]- Купер, Джим (2001). Специальное издание с использованием MS-DOS 6.22, третье издание . Издательство Que . ISBN 978-0789725738 .
- Тим О'Рейли; Трой Мотт; Уолтер Гленн (1999). Коротко о Windows 98: краткий справочник по рабочему столу . О'Рейли . ISBN 978-1565924864 .
Внешние ссылки
[ редактировать ]- «Интерфейсы прикладного программирования системы Microsoft DoubleSpace (API) v1.00.05 и формат файла сжатого тома DoubleSpace (CVF)» ( ARJ ) . Майкрософт . 1993 [1992]. Архивировано из оригинала 3 марта 2016 г.
- Обзор DoubleSpace
- Сопоставление DOS FAT с MDFAT
- Макет файла сжатого тома DoubleSpace
- Интерфейс сжатия в реальном времени Microsoft (MRCI)