Una utilidad de software de compresión de discos aumenta la cantidad de información que se puede almacenar en una unidad de disco duro de un tamaño determinado. A diferencia de una utilidad de compresión de archivos , que comprime solo archivos específicos (y que requiere que el usuario designe los archivos que se van a comprimir), una utilidad de compresión de discos sobre la marcha funciona automáticamente a través de un software residente sin que el usuario tenga que estar al tanto de su existencia. Por lo tanto, la compresión de discos sobre la marcha también se conoce como compresión de discos transparente , en tiempo real o en línea .
Cuando es necesario almacenar información en el disco duro, la utilidad la comprime . Cuando es necesario leerla, la utilidad la descomprime. Una utilidad de compresión de disco anula las rutinas estándar del sistema operativo . Dado que todas las aplicaciones de software acceden al disco duro mediante estas rutinas, continúan funcionando después de que se haya instalado la compresión de disco.
Las utilidades de compresión de discos fueron populares especialmente a principios de los años 90, cuando los discos duros de los microordenadores eran todavía relativamente pequeños (de 20 a 80 megabytes ). Los discos duros también eran bastante caros en aquella época, costando aproximadamente 10 USD por megabyte. Para los usuarios que compraron aplicaciones de compresión de discos, el software demostró ser a corto plazo un medio más económico de adquirir más espacio en disco en lugar de reemplazar su unidad actual por una más grande. Una buena utilidad de compresión de discos podía, en promedio, duplicar el espacio disponible con una pérdida de velocidad insignificante. La compresión de discos cayó en desuso a finales de los años 90, ya que los avances en la tecnología y la fabricación de discos duros llevaron a mayores capacidades y precios más bajos.
Soluciones comunes de compresión de discos
Hardware independiente
Algunas de las soluciones iniciales de compresión de discos eran asistidas por hardware y utilizaban tarjetas de coprocesador compresor/descompresor adicionales además de un controlador de software. Las soluciones conocidas incluyen:
- Stacker XT/8 y Stacker AT/16 de Stac Electronics [1] [2]
- Expanz! y Expanz! Plus de InfoChip Systems [1] [2] [3]
- DiskDoubler dd2000 de Datran Corporation
- MRCI (Interfaz de compresión en tiempo real de Microsoft) de Microsoft
Software independiente
Con el aumento de la potencia de los procesadores de PC, las soluciones basadas únicamente en software comenzaron a alcanzar o incluso superar el rendimiento de las soluciones asistidas por hardware en la mayoría de los casos. Estas utilidades de compresión se vendían de forma independiente. El usuario tenía que elegir específicamente si instalar o configurar el software.
Software incluido
La idea de incluir la compresión de discos en los nuevos equipos atrajo a los revendedores y usuarios. A los revendedores les gustó poder disponer de más espacio de almacenamiento; a los usuarios les gustó no tener que configurar el software. Las utilidades incluidas incluían (en orden cronológico):
- DR DOS 6.0 (1991), de Digital Research , incluía una versión personalizada de SuperStor de AddStor .
- PalmDOS 1.0 (1992), de Novell (después de adquirir Digital Research), incluía una versión de SuperStor habilitada para DPMS .
- MS-DOS 6.0 (1993), de Microsoft , incluía DoubleSpace , [8] que se basaba en parte en DoubleDisk de Vertisoft Systems . MS-DOS 6.0 introdujo la denominada API de precarga de DOS, una interfaz de tipo desafío-respuesta no documentada [9] [10] que permitía cargar automáticamente el software de compresión de disco ( DBLSPACE.BIN ) incluso antes de que se procesara CONFIG.SYS .
- PC DOS 6.1 (1993), de IBM , si bien la versión original no incluía un compresor de disco, se incluyó una versión personalizada de SuperStor/DS (después de adquirir AddStor) en una versión posterior, introduciendo también la API de precarga en la línea PC DOS.
- MS-DOS 6.2 (1993), de Microsoft , incluía una versión mejorada de DoubleSpace .
- Novell DOS 7 (1993), de Novell, incluía una versión de Stacker 3.12 ( STACKER.BIN ) de Stac Electronics compatible con DPMS , que también admitía el intercambio de datos comprimidos con servidores NetWare y PNW remotos que también ejecutaban Stacker para evitar una recompresión innecesaria al copiar archivos. [11] También introdujo soporte para la API de precarga de DOS 6 para mantener la compatibilidad con DoubleSpace de Microsoft en escenarios de arranque múltiple. [9] [11] Se utilizó un mecanismo similar para cargar el componente SECURITY opcional para uno o varios usuarios .
- PTS-DOS Extended 6.4 (1994), de PhysTechSoft , incluía un componente de compresión de disco llamado Carpeta ( FOLDER.SYS ) [12]
- PC DOS 6.3 (1994), de IBM, incluía una versión de SuperStor/DS .
- MS-DOS 6.22 (1994), de Microsoft, incluyó DriveSpace , que era DoubleSpace con un algoritmo de compresión diferente ( DRVSPACE.BIN ), después de que MS-DOS 6.21 tuviera que distribuirse sin ningún software de compresión de disco por razones legales.
- PC DOS 7.0 (1995), de IBM, incluía una versión compatible con DPMS de Stacker 4.02 de Stac Electronics.
- Windows 95 (1995), de Microsoft, incluía una versión actualizada de DriveSpace 2 .
- Windows 95 OSR2 (1996), de Microsoft, incluía una versión reducida de DriveSpace 3 .
- Windows 95 Plus! (1996), de Microsoft, incluía la versión completa de DriveSpace 3 .
- OpenDOS 7.01 (1997), de Caldera (después de adquirir Novell DOS), incluía una versión de Stacker 3.12 compatible con DPMS . [11]
- DR-DOS 7.02 (1998), de Caldera, incluía una versión de Stacker 3.12 compatible con DPMS . [13] DR-DOS 7.02 también agregó soporte para DriveSpace de Microsoft . [14]
- PC DOS 2000 (1998), de IBM, incluía una versión de Stacker 4.02 compatible con DPMS .
- Windows 98 (1998), de Microsoft, incluía la versión completa de DriveSpace 3 .
- DR-DOS 7.03 (1999), de Caldera, incluía una versión de Stacker 3.12 habilitada para DPMS .
- Windows 98 SE (1999), de Microsoft, incluía la versión completa de DriveSpace 3 .
- PTS-DOS Pro 2000 (1999), de Paragon Technology Software , incluía un componente de compresión de disco llamado DATACOMP .
Otras soluciones
- Squeeze , un compresor de archivos DOS residente para archivos Lotus 1-2-3 y Lotus Symphony de Turner Hall Publishing [15]
- La ROM Squish Plus de Sundog Software, pero distribuida exclusivamente a través de Personalized Software (ahora Thaddeus Computing ), era un chip ROM especial que contenía una versión personalizada de Squish Plus con solo 36 KB de espacio adaptado para HP Portable Plus . [6]
- Double Tools for DoubleSpace de Addstor era un producto complementario que mejoraba la funcionalidad de DoubleSpace incluido con MS-DOS 6.0 .
- Multimedia Stacker de Helix Software era un paquete de Stacker 4.01 habilitado para DPMS de Stac combinado con Helix Cloaking y utilidades, que utilizaba el servidor DPMS integrado de Cloaking para reubicarse y ejecutarse en modo protegido .
- Sistema de archivos THS (1994-1996 de Thomas Scheuermann), un controlador de sistema de archivos comprimido para Linux , que podía leer algunos CVF . [16] [17] [18]
- DMSDOS (1996), un controlador del kernel de Linux, [19] [20] para soportar la lectura y escritura de volúmenes DoubleSpace, DriveSpace 2 y 3, así como Stacker 3 y 4.
Si bien Windows XP , de Microsoft, incluye un soporte nativo y un comando llamado compact que comprime archivos en sistemas NTFS , este no está implementado como una "unidad comprimida" separada como las anteriores.
Operación
La compresión de discos suele crear un único archivo grande que se convierte en un disco duro virtual . Esto es similar a cómo un único disco duro físico se puede dividir en varias unidades virtuales. Se accede a la unidad comprimida a través de un controlador de dispositivo .
Comprimir unidades existentes
Al principio, todas las unidades estarían vacías. La utilidad para crear una unidad normalmente ofrecería "comprimir una unidad actual". Esto significaba que la utilidad haría lo siguiente:
- Crea una unidad comprimida vacía, almacenada en la unidad existente.
- Transfiera los archivos existentes en la unidad antigua a la nueva unidad comprimida.
- Aumente el tamaño de la nueva unidad comprimida según sea necesario para acomodar más archivos y dejar espacio vacío una vez terminado.
- Una vez transferidos todos los archivos, se intercambiarán las letras de unidad.
Por lo general, ciertos archivos del sistema no se transferirían. Por ejemplo, los archivos de intercambio del sistema operativo permanecerían solo en la unidad host.
Comprimir la unidad de arranque
Se tuvo que cargar un controlador de dispositivo para acceder a la unidad comprimida. Una unidad comprimida C: requirió cambios en el proceso de arranque de la siguiente manera:
- El BIOS del sistema carga el sector 0 del primer disco duro físico ( Master Boot Record ).
- El sector de partición carga el sector 0 de la partición de arranque ( Registro de arranque de volumen ). En este caso, se trata de la unidad host.
- El sector 0 de la unidad host carga (en el caso de DOS ) el BIOS DOS ( IO.SYS , IBMBIO.COM, etc.). Según la versión, solo los primeros sectores del archivo o el archivo completo pueden cargarse en la memoria. En el primer caso, el stub cargado contiene otro cargador que carga el resto del archivo desde el disco. En el caso de DR-DOS, el BIOS está empaquetado y se descomprimirá a través de una rutina de descompresión incorporada. [14] [21]
- Luego, el BIOS DOS carga el kernel DOS ( MSDOS.SYS , IBMDOS.COM , etc.)
- Si el DOS admite la API de precarga, el BIOS del DOS intenta cargar un controlador de compresión precargable [9] [10] ( DBLSPACE.BIN , DRVSPACE.BIN o STACKER.BIN ) desde la raíz de la unidad host e intenta comunicarse con él a través de la API de precarga del DOS. [14] [11] Si el controlador responde como se espera, el BIOS del DOS mantendrá el controlador, si no, se descartará. [8] Si se mantiene y se configura en consecuencia, las letras de unidad pueden intercambiarse, de modo que la unidad comprimida se convierte en C:.
- El BIOS DOS inicia el procesamiento de CONFIG.SYS buscando el archivo en la raíz de la unidad de arranque. En el caso de DR-DOS, DCONFIG.SYS tiene prioridad sobre CONFIG.SYS, si está presente. [11] [14]
- Los controladores de compresión que no se cargan a través de la API de precarga se pueden cargar a través de declaraciones DEVICE .
- Dependiendo de la configuración y si esto no ha sucedido ya, las letras de unidad pueden intercambiarse, de modo que la unidad comprimida se convierta en C:.
- El procesamiento continúa desde la unidad comprimida.
Impacto en el rendimiento
En sistemas con discos duros más lentos, la compresión de discos podía aumentar el rendimiento del sistema. Esto se logró de dos maneras:
- Una vez comprimido, había menos datos para almacenar.
- Los accesos al disco a menudo se agrupaban para lograr mayor eficiencia.
Si el sistema tuviera que esperar con frecuencia a que se completara el acceso al disco duro ( limitado por E/S ), convertir el disco duro en unidades comprimidas podría acelerar el sistema significativamente. La compresión y descompresión de los datos aumenta la utilización de la CPU. Si el sistema ya estaba limitado por la CPU , la compresión del disco disminuye el rendimiento general. [11]
Desventajas
Algunas desventajas comunes del uso de la compresión de disco:
- No todas las utilidades de compresión confirmarían la ausencia de errores en el sistema de archivos FAT antes de comprimir un disco en su lugar. Algunos errores, como los archivos con enlaces cruzados , podrían provocar una pérdida adicional de datos durante el proceso de transferencia. [nb 1]
- La unidad comprimida solo es visible si el controlador del dispositivo está cargado y la unidad comprimida está montada. Un disco de arranque , por ejemplo, podría no contener el controlador. (Esto no era normalmente un problema para las soluciones que venían incluidas con los sistemas operativos a menos que se iniciaran sistemas operativos externos, ya que las utilidades del sistema como SYS se modificaron para copiar los controladores de compresión a los discos de arranque de forma predeterminada, [11] [21] y los sistemas operativos correspondientes también recurrían a buscarlos en unidades distintas del disco de arranque si no se podían encontrar allí).
- La desinstalación era problemática si el tamaño expandido de los datos en el disco comprimido era mayor que la capacidad normal del disco.
- Los usuarios no siempre se daban cuenta de que el archivo grande en la unidad host contenía la unidad comprimida. Si bien generalmente estaba "oculto" de forma predeterminada, [nb 2] los usuarios que consideraban que el archivo grande les parecía curioso o sospechoso podían eliminarlo. Esto normalmente causaba la pérdida de datos.
Véase también
Notas
- ^ En los archivos con enlaces cruzados , dos archivos almacenan al menos parte de sus datos en la misma ubicación. En este caso, siempre se pierde al menos una parte de un archivo (el archivo "malo"). Sin embargo, si se copia el archivo "malo" y luego se elimina, también se elimina parte del archivo "bueno". Microsoft SCANDISK se creó, en parte, para realizar una mejor comprobación del sistema de archivos antes de la compresión que la utilidad MS-DOS CHKDSK .
- ^ Por ejemplo, DOS asociaba hasta cuatro atributos a los archivos: Sistema, Oculto, Solo lectura y Archivo. Los archivos con los atributos Sistema u Oculto no suelen mostrarse de forma predeterminada. Los archivos con el atributo Sistema o Solo lectura no se pueden eliminar con el comando DOS ERASE o DEL . La mayoría de las utilidades de compresión marcarían el archivo de la unidad con al menos uno o más de los atributos Sistema, Oculto y Solo lectura (muchas utilizarían los tres). Sin embargo, los archivos marcados con dichos atributos se pueden ver y eliminar por otros medios. Además, el usuario también puede eliminar atributos.
Referencias
- ^ abcd Slovick, Linda (17 de febrero de 1992). "The big squeeze". InfoWorld . 14 (7): 57–63 . Consultado el 6 de abril de 2015 .
- ^ abcde Pastrick, Greg (28 de enero de 1992). "Duplique, no triplique, el espacio de su disco duro con utilidades de compresión de datos sobre la marcha". PC Magazine . 11 (2): 261 . Consultado el 6 de abril de 2015 .
- ^ Mendelson, Edward (13 de noviembre de 1990). «La placa Expanz! comprime rápidamente archivos en todos los tipos de discos pero pierde algunas compatibilidades con DOS». PC Magazine . 9 (19): 13 . Consultado el 6 de abril de 2015 .
- ^ Walkenbach, John (2 de febrero de 1987). "Squish: el compresor de archivos compacta los datos en un espacio más pequeño, pero lentamente". InfoWorld . 9 (6): 55 . Consultado el 5 de abril de 2015 .
- ^ Davis, Stephen Randy (24 de febrero de 1987). "Squish comprime los archivos antes de que se escriban en el disco". PC Magazine . 6 (4): 46 . Consultado el 6 de abril de 2015 .
- ^ ab Goldstein, Hal (8 de julio de 1989). "50% más de espacio de archivo por tan sólo $89,95" (PDF) . The Portable Paper . 4 (4). Personalized Software , ahora Thaddeus Computing : 46. Consultado el 5 de abril de 2015 .
- ^ http://files.mpoli.fi/unpacked/software/dos/compress/jam125sw.zip/readme.doc [ URL del archivo de texto sin formato ]
- ^ ab Slivka, Benjamin W.; Straub, Eric; Freedman, Richard (julio de 1993). "Hands on - Under the Hood: Inside MS-DOS 6 - The developer of MS-DOS describe the operating system's memory optimization and disk-compression technology" (Manos a la obra: dentro de MS-DOS 6: los desarrolladores de MS-DOS describen la tecnología de compresión de disco y optimización de memoria del sistema operativo). BYTE Magazine . 18 (8): 197–202 . Consultado el 1 de noviembre de 2016 .[1]
- ^ abc Schulman, Andrew; Brown, Ralf D .; Maxey, David; Michels, Raymond J.; Kyle, Jim (1994) [noviembre de 1993]. DOS no documentado: 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.ª edición). Addison Wesley . ISBN 0-201-63287-X.(xviii+856+vi páginas, disquete de 3,5") Erratas: [2][3]
- ^ de Chappell, Geoff (1994). DOS Internals . Addison Wesley . ISBN 978-0-201-60835-9.[4][5] Erratas: [6][7][8]
- ^ abcdefg Paul, Matthias R. (30 de julio de 1997). NWDOS-TIP: consejos y trucos para Novell DOS 7, con un clic para deshacer detalles, errores y soluciones. MPDOSTIP (en alemán) (3 ed.). Archivado desde el original el 10 de septiembre de 2017 . Consultado el 5 de abril de 2015 .NWDOSTIP.TXT es un trabajo exhaustivo sobre Novell DOS 7 y OpenDOS 7.01 , que incluye la descripción de muchas características y elementos internos no documentados. Forma parte de la colección MPDOSTIP.ZIP, aún más grande, del autor, que se mantuvo hasta 2001 y se distribuyó en muchos sitios en ese momento. El enlace proporcionado apunta a una versión anterior convertida a HTML del archivo NWDOSTIP.TXT.
- ^ "Clone de MS-DOS fabricado en Rusia". Computerwoche . 1994-05-06 . Consultado el 2015-04-12 .
- ^ Guía del usuario de Caldera DR-DOS 7.02. Caldera, Inc. 1998 [1993, 1997]. Archivado desde el original el 5 de noviembre de 2016. Consultado el 10 de agosto de 2013 .
- ^ abcd Paul, Matthias R. (2 de octubre de 1997). «Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM README.TXT». Archivado desde el original el 4 de octubre de 2003. Consultado el 29 de marzo de 2009 .[9]
- ^ "Exprime 10 veces más hojas de cálculo en un disco - SQZ! - El exprimidor de datos para Lotus". Revista PC . Turner Hall Publishing: 155. 1986-10-14 . Consultado el 2016-11-18 .
- ^ ftp://sunsite.unc.edu/pub/Linux/system/Filesystems/dosfs/thsfs.tgz [ enlace muerto permanente ]
- ^ "Re: Compresión de disco - Stacker - Drivespace, etc".
- ^ http://ftp.nluug.nl/ftp/ibiblio/system/filesystems/thsfs.lsm [ URL simple del archivo de texto sin formato ]
- ^ "DMSDOS - Controlador del núcleo de Linux". 18 de marzo de 2005. Archivado desde el original el 11 de noviembre de 2016. Consultado el 25 de mayo de 2016 .
- ^ "Módulo CVF de DMSDOS" (dmsdoc.doc). 0.9.2.0. 1998-11-19. Archivado desde el original el 2016-11-02 . Consultado el 2016-11-01 .
- ^ ab DR-DOS 7.03 WHATSNEW.TXT — Cambios de DR-DOS 7.02 a DR-DOS 7.03. Caldera, Inc. 1998-12-24. Archivado desde el original el 2019-04-08 . Consultado el 2019-04-08 .
Enlaces externos
- "Referencia técnica de MS-DOS 6". Microsoft .
- "Diseño de archivo CVF DoubleSpace".y siguientes.
- "¿Qué tan segura es la compresión de discos?". Revista BYTE . Febrero de 1994. Archivado desde el original el 19 de junio de 2008.
- "Cómo... comprimir discos duros". Smart Computing . Abril de 1999.