Открыть сервис

DoubleSpace

DoubleSpace — это программный продукт для сжатия данных на лету, разработанный компанией Microsoft и встроенный в операционные системы MS-DOS 6.0 и 6.2. Он позволял увеличить доступное дисковое пространство на жёстких дисках и дискетах путём прозрачного сжатия и распаковки файлов без участия пользователя. DoubleSpace относится к классу драйверов сжатия дисков (disk compression drivers) и является одной из наиболее известных реализаций этой технологии для платформы x86 в начале 1990-х годов.

История

Предпосылки появления

В конце 1980-х — начале 1990-х годов стоимость жёстких дисков оставалась высокой, а их ёмкость редко превышала 100–200 мегабайт. Пользователи персональных компьютеров испытывали острую нехватку места для хранения программ и данных. Одновременно с этим развивались технологии сжатия данных, такие как алгоритмы LZW и LZ77, которые позволяли значительно уменьшать объём файлов без потери информации.

Разработка и выход

Microsoft начала разработку DoubleSpace в 1992 году. Основой для продукта послужила технология, лицензированная у компании Stac Electronics, которая ранее выпустила драйвер сжатия Stacker. Однако Microsoft не приобрела полную лицензию, а использовала собственные алгоритмы, что впоследствии привело к судебному разбирательству. DoubleSpace был впервые включён в состав MS-DOS 6.0, выпущенного в марте 1993 года. Продукт сразу стал доступен миллионам пользователей, так как MS-DOS была доминирующей операционной системой для IBM PC-совместимых компьютеров.

Судебный иск Stac Electronics

В 1993 году компания Stac Electronics подала иск против Microsoft, утверждая, что DoubleSpace нарушает патенты Stac на алгоритмы сжатия. В феврале 1994 года суд признал Microsoft виновной в нарушении патентов и обязал выплатить компенсацию в размере 120 миллионов долларов США. В результате Microsoft была вынуждена удалить DoubleSpace из последующих версий MS-DOS. Взамен в MS-DOS 6.21 был включён упрощённый драйвер DriveSpace, который не infringed на патенты Stac. DoubleSpace перестал поставляться с новыми копиями MS-DOS, но оставался доступен для пользователей, уже установивших систему.

Преемник — DriveSpace

После удаления DoubleSpace Microsoft разработала DriveSpace, который был включён в MS-DOS 6.22 (1994 год) и более поздние версии Windows 9x. DriveSpace использовал другой алгоритм сжатия и не нарушал патенты Stac. Однако функционально он был аналогичен DoubleSpace и поддерживал обратную совместимость с томами, созданными DoubleSpace.

Принцип работы

Алгоритм сжатия

DoubleSpace использовал алгоритм сжатия, основанный на методе LZSS (вариант LZ77). Этот алгоритм искал повторяющиеся последовательности байтов в данных и заменял их ссылками на предыдущие вхождения. Дополнительно применялось кодирование Хаффмана для сжатия наиболее часто встречающихся символов. Степень сжатия зависела от типа данных: текстовые файлы и документы сжимались в 2–3 раза, исполняемые файлы — в 1,5–2 раза, а уже сжатые данные (например, архивы ZIP или изображения JPEG) практически не сжимались.

Драйвер реального времени

DoubleSpace работал как драйвер, загружаемый в память при старте системы. Он перехватывал обращения к диску на уровне файловой системы и выполнял сжатие при записи и распаковку при чтении. Пользователь видел только один логический том (обычно C:), который отображал фактический объём сжатых данных. Физический диск при этом содержал скрытый файл (например, DRVSPACE.000), в котором хранились все сжатые данные.

Структура тома

Том DoubleSpace состоял из двух частей:

  • Сжатый том — логический раздел, который отображался как обычный диск. Его размер мог превышать физический объём диска за счёт сжатия.
  • Несжатый том — небольшой раздел (обычно несколько мегабайт), который оставался несжатым и содержал системные файлы, необходимые для загрузки драйвера (IO.SYS, MSDOS.SYS, DRVSPACE.BIN).

Классификация и версии

Версии

  • DoubleSpace 1.0 — первая версия, включённая в MS-DOS 6.0 (март 1993 года). Поддерживала сжатие дисков размером до 512 МБ.
  • DoubleSpace 1.1 — обновление, выпущенное с MS-DOS 6.2 (сентябрь 1993 года). Улучшена производительность, добавлена поддержка сжатия дискет и возможность создания сжатых томов размером до 2 ГБ.
  • DoubleSpace 2.0 — версия, включённая в MS-DOS 6.2 (некоторые сборки) и Windows 3.1. Добавлена поддержка сжатия на уровне кластеров и улучшена совместимость с программами.

Аналоги

  • Stacker (Stac Electronics) — коммерческий драйвер сжатия, предшествовавший DoubleSpace. Более производительный, но требовал отдельной покупки.
  • DriveSpace (Microsoft) — преемник DoubleSpace, выпущенный после судебного иска. Использовал другой алгоритм, но был обратно совместим с томами DoubleSpace.
  • SuperStor (Addstor) — альтернативный драйвер сжатия для MS-DOS, менее популярный.

Применение

Операционные системы

DoubleSpace был встроен в MS-DOS 6.0 и 6.2, а также мог использоваться в Windows 3.1 и Windows 95 (в режиме MS-DOS). В Windows 95 он был заменён на DriveSpace, но поддержка томов DoubleSpace сохранялась. В Windows 98 и Windows Me DriveSpace был включён, но DoubleSpace уже не поддерживался.

Типы носителей

DoubleSpace поддерживал сжатие:

  • Жёстких дисков — основное применение. Позволял увеличить ёмкость диска в среднем в 1,5–2 раза.
  • Дискет — сжатие дискет 3,5" и 5,25". Позволяло хранить на стандартной дискете 1,44 МБ до 2,88 МБ данных (в зависимости от типа файлов).
  • RAM-дисков — теоретически мог сжимать данные в оперативной памяти, но на практике использовался редко из-за низкой производительности.

Ограничения

  • Производительность — сжатие и распаковка требовали процессорного времени, что замедляло работу с диском, особенно на медленных процессорах (286, 386).
  • Надёжность — повреждение файла тома (DRVSPACE.000) приводило к потере всех данных на сжатом диске. Восстановление было сложным и требовало специальных утилит.
  • Совместимость — некоторые программы, работающие с диском на низком уровне (например, дефрагментаторы, антивирусы, утилиты восстановления данных), могли конфликтовать с DoubleSpace.

Интересные факты

  • DoubleSpace был одним из первых массовых продуктов, реализующих сжатие на лету для персональных компьютеров. Он популяризировал эту технологию среди домашних пользователей.
  • Судебный процесс Microsoft против Stac Electronics стал одним из первых крупных патентных споров в индустрии программного обеспечения. Он привлёк внимание к вопросам интеллектуальной собственности в области алгоритмов.
  • В некоторых версиях MS-DOS 6.2 DoubleSpace был переименован в DriveSpace, чтобы избежать путаницы после судебного иска. Однако технически это был тот же продукт с изменённым названием.
  • DoubleSpace поддерживал сжатие на уровне кластеров, что позволяло эффективно использовать пространство на дисках с большими кластерами (например, 4 КБ или 8 КБ).
  • В 1994 году Microsoft выпустила патч для DoubleSpace, исправляющий ошибку, которая могла привести к потере данных при определённых условиях.

Критика

DoubleSpace подвергался критике за несколько недостатков:

  • Снижение производительности — на медленных процессорах сжатие и распаковка могли замедлять работу системы на 20–50%.
  • Риск потери данных — из-за сложной структуры тома и отсутствия встроенных средств восстановления повреждение файла тома часто приводило к необратимой потере данных.
  • Патентные споры — использование технологий Stac без лицензии вызвало судебный иск, что подорвало доверие к продукту.
  • Несовместимость — некоторые программы, особенно те, которые работали с диском напрямую (например, Norton Utilities), не поддерживали сжатые тома.

Тем не менее, DoubleSpace сыграл важную роль в развитии технологий сжатия данных и стал предшественником современных систем сжатия на лету, таких как NTFS-сжатие в Windows и ZFS-сжатие в Unix-подобных системах.

Источники

  • Microsoft MS-DOS 6.0 User's Guide, 1993.
  • Stac Electronics v. Microsoft Corporation, 1994.
  • «The History of Disk Compression», PC Magazine, 1994.
  • «DoubleSpace: A Technical Overview», Microsoft Developer Network, 1993.
  • «Data Compression in MS-DOS 6.0», Byte Magazine, 1993.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →