Articulo de referencia

DriveSpace

DriveSpace (inicialmente conocido como DoubleSpace ) es una utilidad de compresión de disco incluida en MS-DOS desde la versión 6.0 en 1993 hasta el año 2000 con el lanzamiento ...

DriveSpace (inicialmente conocido como DoubleSpace ) es una utilidad de compresión de disco incluida en MS-DOS desde la versión 6.0 en 1993 hasta el año 2000 con el lanzamiento de Windows Me . El propósito de DriveSpace es aumentar la cantidad de datos que el usuario puede almacenar en discos mediante la compresión y descompresión transparente de datos en tiempo real. Está diseñado principalmente para su uso con discos duros , pero también es compatible con disquetes . Esta función se eliminó en Windows XP .

Descripción general

Microsoft publicitó DoubleSpace en la portada de las distribuciones de MS-DOS 6 (en la imagen se muestra la guía del usuario de MS-DOS 6 con Windows 3.1 incluido; la pegatina de DoubleSpace aparece en la parte superior derecha).

En el escenario de uso más común, el usuario tendría un disco duro en la computadora, con todo el espacio asignado a una partición (generalmente la unidad C:). El software comprimiría todo el contenido de la partición en un único archivo grande en el directorio raíz . Al iniciar el sistema, el controlador asignaría este archivo grande como la unidad C:, lo que permitiría acceder a los archivos con normalidad.

La decisión de Microsoft de añadir compresión de disco a MS-DOS 6.0 estuvo influenciada por el hecho de que su competidor, DR DOS, ya había empezado a incluir software de compresión de disco desde la versión 6.0 en 1991.

En lugar de desarrollar su propio producto desde cero, Microsoft obtuvo la licencia de la tecnología del producto DoubleDisk desarrollado por Vertisoft y la adaptó para convertirla en DoubleSpace. Por ejemplo, la carga del controlador que controla la compresión/descompresión ( DBLSPACE.BIN ) se integró más profundamente en el sistema operativo (se carga a través de la API de precarga no documentada [ 1 ] incluso antes del archivo CONFIG.SYS ).

Inicialmente, Microsoft intentó obtener la licencia de la tecnología de Stac Electronics , que contaba con un producto similar llamado Stacker, pero las negociaciones fracasaron. Posteriormente, Stac Electronics demandó con éxito a Microsoft por infracción de patentes, alegando que había violado algunas de sus patentes de compresión. Durante el juicio, Stac Electronics afirmó que Microsoft se había negado a pagarle nada al intentar licenciar Stacker, ofreciéndole únicamente la posibilidad de desarrollar productos complementarios.

Errores y pérdida de datos

Poco después de su lanzamiento, surgieron informes de pérdida de datos. Una empresa llamada Blossom Software afirmó haber encontrado un error que podía provocar la corrupción de datos . El error se producía al escribir archivos en discos muy fragmentados y se demostró con un programa llamado BUST.EXE . La empresa vendía un programa llamado DoubleCheck que podía utilizarse para comprobar la fragmentación que podía causar el error. La postura de Microsoft era que el error solo ocurría en condiciones poco probables, pero solucionó el problema en MS-DOS 6.2 . [ 2 ]

La condición de fragmentación estaba relacionada con la forma en que DoubleSpace comprime los clústeres individuales (de un tamaño aproximado de 8 KB) y los ajusta al disco, ocupando menos sectores (de 512 bytes) que el número fijo requerido sin DoubleSpace (16 sectores en este ejemplo). Esto generaba la posibilidad de un problema de fragmentación interna, donde DoubleSpace no podía encontrar suficientes sectores consecutivos para almacenar un clúster comprimido, incluso si había mucho espacio disponible.

Otras posibles causas de pérdida de datos incluían la corrupción de las áreas de memoria de DoubleSpace por otros programas. Las áreas de memoria de DoubleSpace no estaban protegidas porque MS-DOS se ejecutaba en modo real . Microsoft intentó solucionar esto en la versión 6.2 de DoubleSpace para MS-DOS (mediante una función llamada DoubleGuard que comprobaba si existía dicha corrupción).

El hecho de que el contenido comprimido de una unidad se almacenara en un solo archivo implicaba la posibilidad de que un usuario borrara accidentalmente todos sus datos al eliminar solo ese archivo. Esto podía ocurrir si el usuario accedía inadvertidamente a la unidad principal que contenía dicho archivo. La unidad principal solía estar asignada a la letra H: por el controlador de compresión. Sin embargo, si el controlador de compresión no se cargaba correctamente, el usuario podría verla como la unidad C:.

Apagar el ordenador antes de que DoubleSpace terminara de actualizar sus estructuras de datos también podía provocar la pérdida de datos. Este problema se agravó cuando Microsoft habilitó por defecto el almacenamiento en caché de escritura en el software de caché de disco SMARTDRV incluido en MS-DOS 6.0. Debido a este cambio, tras salir de una aplicación, podía aparecer el indicador de MS-DOS antes de que se hubieran escrito todos los datos en el disco. Sin embargo, debido a la falta de un procedimiento de apagado controlado (como en los sistemas operativos modernos), muchos usuarios interpretaban la aparición del indicador de MS-DOS como una señal de que era seguro apagar el ordenador, lo cual era habitual antes de MS-DOS 6.0. Microsoft solucionó este problema en MS-DOS 6.2, donde el almacenamiento en caché de escritura seguía habilitado por defecto, pero la caché se vaciaba antes de que volviera a aparecer el indicador de comandos.

Complementos

AddStor, Inc. ofreció un producto complementario llamado Double Tools for DoubleSpace . Este contenía varias herramientas para mejorar las funciones de la versión de DoubleSpace que venía con MS-DOS 6.0. Esto incluía varias funciones de diagnóstico, la capacidad de montar automáticamente medios extraíbles comprimidos a medida que se usaban, así como soporte para la desfragmentación en segundo plano de unidades comprimidas de DoubleSpace. [ 3 ] Para desfragmentar archivos en segundo plano, era posible dejar que DoubleTools reemplazara el controlador de bajo nivel de DoubleSpace (DBLSPACE.BIN) con uno proporcionado por DoubleTools. Reemplazar el controlador también habilitaba otras funcionalidades mejoradas del producto, como el uso de rutas de código de 32 bits cuando detectaba una CPU Intel 80386 o superior , capacidades de caché y , además de admitir el uso del Área de Memoria Superior , también permitía el uso de Memoria Extendida para algunos de sus búferes (reduciendo el tamaño total del controlador en la memoria convencional y superior , aunque a costa de una velocidad algo reducida). [ 4 ] Otra función era la capacidad de dividir un volumen comprimido en varios disquetes, pudiendo ver el volumen completo con solo el primer disquete insertado (y recibiendo indicaciones para cambiar de disquete según fuera necesario). También era posible compartir un volumen comprimido con un ordenador remoto. Double Tools también tenía la capacidad de instalar una utilidad especial en disquetes comprimidos que permitía acceder a los datos comprimidos incluso en ordenadores que no tenían DoubleSpace (o Double Tools).

Vertisoft, la empresa que desarrolló el programa DoubleDisk, que Microsoft posteriormente licenció y convirtió en DoubleSpace, desarrolló y comercializó un complemento para DoubleSpace llamado SpaceManager, que incluía varias mejoras de usabilidad. También ofrecía índices de compresión optimizados.

Otros productos, como las versiones posteriores de Stacker de Stac Electronics, eran capaces de convertir las unidades comprimidas DoubleSpace existentes a su propio formato.

Versiones posteriores

DriveSpace se ejecuta en Windows 3.1 , versión en portugués . Los gráficos de la izquierda y la derecha muestran el uso del disco antes y después de la compactación, respectivamente.
  Espacio libre
  Espacio usado

MS-DOS 6.2

MS-DOS 6.2 incluyó una versión mejorada de DoubleSpace. Se añadió la capacidad de eliminar DoubleSpace. El programa SCANDISK, introducido en esta versión, podía escanear unidades comprimidas y no comprimidas, incluyendo comprobaciones de las estructuras internas de DoubleSpace. Se añadieron funciones de seguridad (conocidas como DoubleGuard) para evitar que la corrupción de memoria provocara la pérdida de datos. El consumo de memoria del controlador DoubleSpace se redujo en comparación con la versión incluida en MS-DOS 6.0. Se solucionó el problema de fragmentación mencionado anteriormente.

MS-DOS 6.21

Tras una demanda exitosa interpuesta por Stac Electronics por infracción de patentes , Microsoft lanzó MS-DOS 6.21 sin la función DoubleSpace. Una orden judicial también impidió la distribución de las versiones anteriores de MS-DOS que incluían DoubleSpace.

MS-DOS 6.22

MS-DOS 6.22 incluía una versión reimplementada del software de compresión de disco, pero esta vez se lanzó con el nombre de DriveSpace . Desde el punto de vista del usuario, el software era prácticamente idéntico a la versión DoubleSpace de MS-DOS 6.2 y era compatible con versiones anteriores.

DriveSpace en Windows 95

Windows 95 ofrecía compatibilidad total con DoubleSpace/DriveSpace mediante un controlador nativo de 32 bits para acceder a las unidades comprimidas, además de una versión gráfica de las herramientas de software. Los usuarios de DriveSpace para MS-DOS podían actualizar a Windows 95 sin problemas. Asimismo, el paquete Microsoft Plus! para Windows 95 incluía la versión 3 de DriveSpace. Esta versión introdujo nuevos formatos de compresión (HiPack y UltraPack) con características de rendimiento diferentes para lograr índices de compresión aún mayores, junto con una herramienta que permitía recomprimir los archivos del disco utilizando los distintos formatos, según la frecuencia de uso. Era posible actualizar de DriveSpace 2 a DriveSpace 3, pero no existía la opción de volver a la versión anterior. Sin embargo, sí era posible descomprimir una unidad de DriveSpace 3. El controlador de dispositivo DOS de DriveSpace 3 ocupaba aproximadamente 150 KB de memoria debido a todas estas nuevas funciones. Esto causó dificultades a los usuarios que reiniciaban Windows 95 en modo MS-DOS para ejecutar juegos, debido a la reducida cantidad de memoria convencional disponible.

DriveSpace 3 también venía incluido con Windows 95 OSR2, pero muchas funciones estaban deshabilitadas a menos que también estuviera instalado Plus!. DriveSpace tampoco era compatible con FAT32 , lo que lo hacía poco útil en PC con discos duros grandes. [ 5 ]

DriveSpace en Windows 98

Windows 98 incluía DriveSpace 3 como parte del sistema operativo. Su funcionalidad era la misma que la de Windows 95 con Plus!.

DriveSpace en Windows Me

Debido a la eliminación de la compatibilidad con el modo real , la popularización de FAT32 y la disminución de la popularidad de DriveSpace, este último en Windows Me solo contaba con soporte limitado. DriveSpace ya no admitía la compresión de discos duros, pero aún permitía leer y escribir en medios extraíbles comprimidos, aunque la única otra operación compatible era eliminar y reasignar unidades comprimidas.

Es posible restaurar la funcionalidad completa de DriveSpace 3 (de forma no oficial) en Windows Me, copiando el archivo ejecutable de una instalación de Windows 98 y usándolo para reemplazar el ejecutable incluido con Windows Me. Después, se podrían comprimir las nuevas unidades como se hacía en Windows 98.

Soporte externo a Microsoft

DMSDOS , un controlador del kernel de Linux , [ 6 ] [ 7 ] se desarrolló a finales de la década de 1990 para admitir tanto la lectura como la escritura de discos DoubleSpace/DriveSpace. Sin embargo, la lectura y, especialmente, la escritura en sistemas de archivos comprimidos solo es fiable en versiones específicas del kernel: 2.0, 2.1 o 2.2.

Si bien DR-DOS admitía su propia tecnología de compresión de disco (originalmente basada en SuperStor , posteriormente en Stacker ), Novell DOS 7 en 1993 y versiones posteriores introdujo una emulación de la API de precarga no documentada para brindar soporte sin problemas también para DoubleSpace. [ 1 ] Dado que los controladores de DR-DOS eran compatibles con DPMS, mientras que los de MS-DOS no lo eran, esto no ofrecía ninguna ventaja para los usuarios de DR-DOS, pero permitía una coexistencia o migración más sencilla debido a la posibilidad de uso compartido de volúmenes comprimidos ya existentes en escenarios de arranque múltiple. DR-DOS 7.02 y versiones posteriores también agregaron soporte para DriveSpace en 1998. [ 8 ]

Véase también

Referencias

  1. 1 2 Schulman, Andrew; Brown, Ralf D .; Maxey, David; Michels, Raymond J.; Kyle, Jim (1994) [noviembre de 1993]. Undocumented DOS: Guía del programador para funciones y estructuras de datos reservadas de MS-DOS, ampliada para incluir MS-DOS 6, Novell DOS y Windows 3.1 (2.ª  ed.). Reading, Massachusetts: Addison Wesley . ISBN 0-201-63287-X.-- Andrew Schulman (18 de marzo de 1991). "Errata, comentarios y notas de la versión de UNDOCUMENTED DOS" . Consultado el 4 de agosto de 2019 .--Ralf Brown (8 de enero de 1994). "DOS indocumentado, erratas de segunda edición" . Consultado el 4 de agosto de 2019 .
  2. Livingston, Brian (20 de septiembre de 1993). "Es una buena idea 'DoubleCheck' para detectar fragmentación en el disco" . InfoWorld : 20.
  3. Halfhill, Tom R. (febrero de 1994). "¿Qué tan segura es la compresión de datos?" . Archivado del original el 19 de junio de 2008.
  4. Eglowstein, Howard (febrero de 1994). "Pérdida de datos: una historia aleccionadora" . Archivado del original el 19 de febrero de 2005.
  5. www.helpwithwindows.com; HelpWithWindows.com, Arie Slob (14 de julio de 1998). "Windows 98, FAT32" . HelpWithWindows.com . Consultado el 30 de marzo de 2024 .
  6. "DMSDOS - Controlador del kernel de Linux" . 18 de marzo de 2005. Archivado del original el 11 de noviembre de 2016. Consultado el 25 de mayo de 2016 .
  7. "Módulo DMSDOS CVF" . 0.9.2.0. 1998-11-19. Archivado del original el 2016-11-02 . Recuperado el 2016-11-01 .
  8. Paul, Matthias R. (1997-10-02). "Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM" . Archivado del original el 4 de octubre de 2003. Recuperado el 29 de marzo de 2009 .

Lecturas adicionales

  • Cooper, Jim (2001). Edición especial con MS-DOS 6.22, tercera edición . Que Publishing . ISBN 978-0789725738.
  • Tim O'Reilly; Troy Mott; Walter Glenn (1999). Windows 98 en pocas palabras: una guía de referencia rápida para escritorio . O'Reilly . ISBN 978-1565924864.
  • "Interfaces de programación de aplicaciones (API) v1.00.05 del sistema DoubleSpace y formato de archivo de volumen comprimido (CVF) de DoubleSpace" ( ARJ ) . Microsoft . 1993 [1992]. Archivado del original el 3 de marzo de 2016.
  • Descripción general de DoubleSpace
  • Mapeo de DOS FAT a MDFAT
  • Diseño de archivo de volumen comprimido DoubleSpace
  • Interfaz de compresión en tiempo real de Microsoft (MRCI)