# DriveSpace

DriveSpace (originalmente DoubleSpace) es un software de compresión de disco que se suministraba con MS-DOS a partir de la versión 6.0 y que se mantuvo hasta Windows Me. El propósito de DriveSpace es aumentar la cantidad de datos que el usuario puede almacenar en el disco, comprimiendo y descomprimiendo datos sobre la marcha de forma transparente. Se utiliza fundamentalmente para discos duros, pero también soporta el uso de disquetes.

## Descripción

En el escenario de uso más común, el usuario tendría un solo disco duro en el ordenador, con el espacio de una sola partición (normalmente con letra de unidad C). Cuando el usuario ejecutara DriveSpace por primera vez, ofrecería a comprimir la unidad seleccionada. La compresión inicial es un proceso largo, que puede tardar horas en completarse. Tras el proceso, todos los archivos que estaban anteriormente en la unidad C se han comprimido y almacenado en un archivo grande, generalmente llamado DBLSPACE.000 o DRVSPACE.000 (según versiones). El proceso de compresión también permitirá la carga de un controlador DoubleSpace/DriveSpace como parte de MS-DOS durante el arranque. Al cargar este controlador se cambiará la letra de la unidad real del disco a H (también conocida como Unidad Host), y luego mapeará la letra de unidad C a la unidad comprimida 'contenida' en DBLSPACE.000, comprimiendo y descomprimiendo datos según sea necesario. DriveSpace puede utilizarse también para crear una unidad comprimida en blanco fuera del espacio de una de las unidades físicas del sistema.
DoubleSpace no es el único programa de su clase. Double Density de Data Becker fue popular en Alemania, aunque el más conocido es Stacker de Stac Electronics, que ha existido durante años como un producto aparte, incluso con versiones para OS/2 y Macintosh. Microsoft tomó la decisión de crear DoubleSpace y añadirlo a MS-DOS probablemente influenciado por el hecho de que los sistemas operativos basados en DOS de otros fabricantes (IBM y Novell) habían comenzado a incluir software de compresión de disco en sus productos.
En lugar de desarrollar su propio producto desde el principio, Microsoft licencia la tecnología de DoubleDisk, producto desarrollado por Vertisoft y lo adaptó para convertirse en DoubleSpace. Por ejemplo, la carga del controlador de dispositivo que maneja la compresión/descompresión (DBLSPACE.BIN) se hizo más profundamente integrado en el sistema operativo (se carga incluso antes que el archivo CONFIG.SYS).
Microsoft había estado negociando previamente con Stac Electronics para licenciar su tecnología de compresión, y mantuvo conversaciones con los ingenieros de Stac y examinó el código de Stac como parte del proceso de due diligence. Stac, en un esfuerzo liderado por el abogado Morgan Chu, demandó a Microsoft por violación de patentes de dos de sus patentes de compresión de datos. Durante el juicio Stac Electronics afirmó que Microsoft se había negado a pagar dinero cuando se trató de licenciar Stacker, ofreciendo sólo la posibilidad de que Stac Electronics desarrollara productos de mejora. En 1994, un jurado de California dictaminó que la infracción por parte de Microsoft no fue intencionada, pero que debía pagar a Stac 120 millones de dólares en indemnización compensatoria, llegando a alrededor de 5,50 dólares por copia de MS-DOS 6.0 que había sido vendida. El jurado también estuvo de acuerdo con una demanda de reconvención de Microsoft en que Stac había malversado el secreto comercial de Microsoft de una función de precarga que se incluyó en Stacker 3.1, y ordenó a Stac el pago de 13,6 millones de dólares a Microsoft.

## Configuración

La configuración sólo es posible con el tamaño de los discos virtuales. Cualquier cambio supone tener que haber reorganizado primero el disco virtual y el anfitrión no sólo con el espacio a manejar, sino con espacio adicional para las operaciones temporales de compresión/descompresión, incluso si sólo se está reasignado espacio libre entre ambos. Un ajuste dinámico durante el funcionamiento, como en los sistemas actuales con técnica de compresión de archivos en línea, no es posible.
Un disco comprimida existente (por ejemplo, un archivo en un medio extraíble) puede ser integrado en el sistema operativo existente en tiempo de ejecución ("carga" y "descargar" a que se refiere).
La configuración es posible en Windows 95 y ME con una utilidad de Windows que muestra gráficamente ambas unidades dependientes y el supuesto nivel de compresión.
Hay que recordar que mientras con archivos de texto plano o viejos documentos de Word la ganancia es importante (40% o más) apenas sí la hay con archivos con esquemas de compresión interna como PNG o JPG, y con archivos que usen un algoritmo mejor de compresión como RAR o ARJ es incluso negativa.

## Recepción e incompatibilidades

Inicialmente, DoubleSpace estaba rodeado de un halo de misterio. Muchos tenían dificultad para comprender cómo es posible almacenar más datos en el disco de lo que en realidad podría contener. Esto dio lugar a muchas especulaciones, algunos usuarios pensaban que DoubleSpace cambiaba la forma en que los datos se almacenaban físicamente en el disco, y hay rumores de que el uso de DoubleSpace reduciría la longevidad de los discos o del propio ordenador. Esto fue, claro está, un malentendido: DoubleSpace utiliza medios puramente de software para obtener sus resultados y no es diferente de otras herramientas de compresión como PKZIP, a excepción de la compresión/descompresión transparente para el usuario.
Unos pocos programas de ordenador, en especial juegos, eran incompatibles con DoubleSpace debido a la forma en que accedían al disco, sobrepasando el controlador DoubleSpace. DoubleSpace también consumía una cantidad importante de memoria convencional, lo que hacía difícil ejecutar programas que requerían mucha memoria.
Algunos usuarios informaron de pérdidas de datos presuntamente causadas por DoubleSpace. Algunos de estos casos se debían a que la memoria utilizada por DoubleSpace era corrompida por otros programas, y Microsoft trató de remediar esto en la versión MS-DOS 6.2 de DoubleSpace. Otra situación que ha dado lugar a la pérdida de datos es la eliminación accidental de archivos de la unidad host en los que figuran los datos comprimidos: de hecho, un usuario podía borrar todos sus datos mediante la supresión de un solo archivo.
Otro problema se atribuyó a los usuarios que apagaban su computadora antes de que DoubleSpace hubiera terminado de escribir un "archivo virtual" en DBLSPACE.000. Esto se agravó por la liberación por parte de Microsoft de una opción que permite al símbolo de MS-DOS reaparecer antes de haber terminado de escribir un archivo en el disco.

## Errores y pérdida de datos

Poco después de su lanzamiento, aparecen los informes de pérdida de datos. Una compañía llamada Blossom Software afirmó haber encontrado un fallo que podría conducir a la corrupción de datos. El error se produjo durante la escritura de archivos en discos muy fragmentados y fue demostrada por un programa llamado BUST.EXE. La compañía vende un programa llamado DoubleCheck que podría ser utilizado para verificar la condición de fragmentación que podría conducir al error. La posición de Microsoft es que el único error se produjo en condiciones poco probables, pero solucionó el problema en MS-DOS 6.2.
La condición de la fragmentación se relaciona con la forma en DoubleSpace comprime grupos individuales (de tamaño, por ejemplo, 8K), y cabe en el disco, ocupando un menor número de sectores (tamaño de 512 bytes) que el número fijo requerido sin DoubleSpace (16 sectores en este ejemplo) . Esto creó la posibilidad de un tipo de problema de la fragmentación interna, donde DoubleSpace sería incapaz de encontrar sectores consecutivos suficiente para almacenar un grupo comprimido, incluso con gran cantidad de espacio disponible.
Otras causas potenciales de pérdida de datos incluye la corrupción de las áreas de la memoria de DoubleSpace por otros programas, y Microsoft trató de poner remedio a esta en la versión de DoubleSpace de MS-DOS 6.2 (a través de una característica llamada DoubleGuard que comprueba si existe este tipo de corrupción).
El hecho de que los contenidos comprimidos de una unidad comprimida se almacena en un único archivo implica la posibilidad de un usuario accidentalmente elimine todos sus datos mediante la eliminación de sólo ese archivo. Esto podría ocurrir si el usuario sin darse cuenta tiene acceso a la unidad de host, que contiene este archivo. La unidad de host se asignan generalmente a la letra H: por el motor de compresión. Sin embargo, si el controlador de compresión no había podido cargar el usuario podría verlo como la unidad C:
Apagar el ordenador antes de DoubleSpace pueda terminar la actualización de sus estructuras de datos también puede causar la pérdida de datos. Este problema se vio agravado porque Microsoft tiene la caché de escritura habilitada de forma predeterminada en el software de caché de disco SMARTDRV que viene con MS-DOS 6.0. Debido a este cambio, después de salir de una aplicación, el símbolo de MS-DOS pueden aparecer antes de que todos los datos habían sido escritos en el disco. Sin embargo, debido a la falta de un procedimiento de apagado controlado (como se encuentra en los sistemas operativos modernos), muchos usuarios vieron la aparición del símbolo del sistema MS-DOS como una indicación de que era seguro para apagar el ordenador, lo que era el caso antes a MS-DOS 6.0. Microsoft aborda esta cuestión en MS-DOS 6.2, donde el almacenamiento en caché de escritura sigue habilitado por defecto, pero la memoria caché se vacía antes de permitir que la línea de comandos vuelva a aparecer.

## Mejoras

La compañía AddStor, Inc. ofrece un producto complementario denominado Double Tools for DoubleSpace. Contenía una serie de herramientas para mejorar las funciones de la versión de DoubleSpace que viene con MS-DOS 6.0. Esto incluye varias funciones de diagnóstico, así como soporte para la desfragmentación de fondo de las unidades comprimidas DoubleSpace. De forma opcional, es posible que DoubleTools reemplace el controlador de bajo nivel DoubleSpace (DBLSPACE.BIN) por uno suministrado por DoubleTools, lo que permite una mayor funcionalidad del producto.
Vertisoft, la compañía que desarrolló el programa Doubledisk que Microsoft posteriormente licencia y se convirtió en DoubleSpace, desarrolla y vende un producto complementario denominado SpaceManager, que contenía una serie de mejoras en la usabilidad. También ofrece ratios de compresión mejoradas y, en consecuencia, el ahorro de espacio.
Otros productos, como las últimas versiones de Stacker de Stac Electronics, eran capaces de convertir las unidades comprimidas DoubleSpace existentes al formato de Stacker.

## Versiones posteriores
### MS-DOS 6.2

DOS 6.2 incluye una nueva versión mejorada de DoubleSpace. Se añade la capacidad de eliminar DoubleSpace. El programa SCANDISK de esta versión permite explorar el archivo comprimido (incluidos chequeos de las estructuras internas de DoubleSpace) así como las unidades no comprimidas. Se añaden funciones de seguridad (conocidas como DoubleGuard) para prevenir la corrupción de la memoria que conduce a la pérdida de datos. Se reduce la cantidad de memoria del controlador DoubleSpace en comparación con la versión anterior en MS-DOS 6.0.

### MS-DOS 6.21

Después de una exitosa demanda judicial de Stac Electronics demostrando la violación de patentes, se libera MS-DOS 6.21 sin DoubleSpace. La orden judicial también impide cualquier distribución de las versiones anteriores de MS-DOS que incluyen DoubleSpace.

### MS-DOS 6.22

MS-DOS 6.22 contiene una reimplementación del software de compresión de disco, esta vez bajo el nombre DriveSpace. El software es esencialmente idéntico a la versión MS-DOS 6.2 de DoubleSpace desde el punto de vista del usuario, y es compatible con las versiones anteriores.

### Windows 95

Windows 95 tiene soporte completo de DoubleSpace/DriveSpace a través de un controlador nativo de 32 bits para acceder a las unidades comprimidas, junto con una versión gráfica del software. Los usuarios de MS-DOS DriveSpace pueden actualizar a Windows 95 sin ningún tipo de problema. Además, Microsoft Plus! Para Windows 95 incluye la versión 3 de DriveSpace. Esta versión presenta nuevos formatos de compresión (HiPack y UltraPack) con diferentes características de rendimiento aún mayor para los ratios de compresión junto con una herramienta que puede recomprimir los archivos del disco utilizando los distintos formatos, en función de la frecuencia de los archivos utilizados, etc. Se puede actualizar DriveSpace 2 a DriveSpace 3, pero no a la inversa. Sin embargo, se puede descomprimir una unidad DriveSpace 3. El controlador de dispositivo de DOS DriveSpace 3 ocupaba un espacio en memoria de cerca de 150 KB a causa de todas estas nuevas funciones. Esto causó dificultades a los usuarios al reiniciar en modo MS-DOS de Windows 95 para ejecutar juegos, debido a la reducida cantidad de memoria convencional.
DriveSpace 3 también se suministra con Windows 95 OSR2, pero muchas funciones están deshabilitadas a menos que se instale Plus!. DriveSpace tampoco podía utilizar FAT32, con lo que era de poca utilidad en ordenadores con discos duros grandes.

### Windows 98

Windows 98 incorpora DriveSpace 3 como parte del sistema operativo. La funcionalidad es la misma que en Windows 95 con Plus!.

### Windows Me

Debido a la eliminación del soporte de modo real y la disminución de la popularidad de DriveSpace, en Windows Me tiene un soporte limitado. DriveSpace ya no soporta la compresión de disco duro, pero sí la lectura y escritura en medios extraíbles comprimidos, aunque la única operación de DriveSpace es la supresión y reasignación de unidades comprimidas.

## Compresión para otros sistemas de archivos de Windows

* FAT32 no está soportado por las herramientas de DriveSpace.
* NTFS tiene su propia tecnología nativa de compresión en sistemas operativos basados en Windows NT.