Compresión de disco


Página semiprotejada
De Wikipedia, la enciclopedia libre
  (Redirigido desde DoubleDisk )
Saltar a navegación Saltar a búsqueda

Una utilidad de software de compresión de disco 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 disco sobre la marcha funciona automáticamente a través del software residente sin que el usuario tenga que ser consciente de su existencia. Por lo tanto, la compresión de disco sobre la marcha también se conoce como compresión de disco transparente , en tiempo real o en línea .

Cuando es necesario almacenar información en el disco duro, la utilidad comprime la información. Cuando es necesario leer información, la utilidad descomprime la información. 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 del disco.

Las utilidades de compresión de disco fueron populares, especialmente a principios de la década de 1990, cuando los discos duros de las microcomputadoras aún eran relativamente pequeños (de 20 a 80 megabytes ). Los discos duros también eran bastante caros en ese momento, costando aproximadamente 10 dólares por megabyte. Para los usuarios que compraron aplicaciones de compresión de disco, 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 disco podría, en promedio, duplicar el espacio disponible con una pérdida de velocidad insignificante. La compresión de disco cayó en desuso a fines de la década de 1990, cuando los avances en la tecnología y la fabricación de los discos duros llevaron a un aumento de la capacidad y a precios más bajos.

Soluciones comunes de compresión de disco

Hardware independiente

Algunas de las soluciones iniciales de compresión de disco eran asistidas por hardware y utilizaban tarjetas de coprocesador de compresor / descompresor adicionales además de un controlador de software. Las soluciones conocidas incluyen:

Software independiente

Con el aumento de la potencia del procesador de PC, las soluciones de solo software comenzaron a alcanzar o incluso superar el rendimiento de las soluciones asistidas por hardware en la mayoría de los escenarios. Estas utilidades de compresión se vendieron de forma independiente. Un usuario tenía que elegir específicamente instalar y configurar el software.

  • Squish [4] [5] y Squish Plus de Sundog Software [6]
  • Apilador de Stac Electronics [2]
  • XtraDrive de Tecnología de la información integrada (IIT)
  • SuperStor y SuperStor Pro de AddStor [1] [2]
  • DoubleDisk y DoubleDisk Gold de Vertisoft Systems [1] [2]
  • JAM (JAM.SYS) de JAM Software, Kiev, Ucrania [7]
  • DiskDoubler de Salient Software
  • Doble densidad de Data Becker

Software incluido

La idea de agrupar la compresión de disco en nuevas máquinas atrajo a revendedores y usuarios. A los revendedores les gustó poder reclamar más espacio de almacenamiento; a los usuarios les gustó que no tuvieran que configurar el software. Utilidades incluidas incluidas (en orden cronológico):

  • DR DOS 6.0 (1991), de Digital Research , incluyó una versión personalizada de AddStor 's SuperStor .
  • PalmDOS 1.0 (1992), de Novell (después de adquirir Digital Research), incluyó una versión de SuperStor habilitada para DPMS .
  • MS-DOS 6.0 (1993), de Microsoft , incluidos DoubleSpace , [8] que se basa en parte en Vertisoft Sistemas ' DoubleDisk . MS-DOS 6.0 introdujo la llamada API de precarga de DOS , una interfaz de tipo desafío-respuesta no documentada [9] [10] que permitía que el software de compresión de disco ( DBLSPACE.BIN ) se cargara automáticamente incluso antes de que se procesara CONFIG.SYS .
  • PC DOS 6.1 (1993), de IBM , mientras que 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, también introduciendo la API de precarga en la línea PC DOS. .
  • MS-DOS 6.2 (1993), de Microsoft , incluyó una versión mejorada de DoubleSpace .
  • Novell DOS 7 (1993), de Novell, incluyó una versión habilitada para DPMS de Stacker 3.12 ( STACKER.BIN ) de Stac Electronics , 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 cuando Copiando documentos. [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 de SEGURIDAD opcional para uno o varios usuarios .
  • PTS-DOS Extended 6.4 (1994), de PhysTechSoft , incluyó un componente de compresión de disco llamado Carpeta ( FOLDER.SYS ) [12]
  • PC DOS 6.3 (1994), de IBM, incluyó 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 enviarse sin ningún software de compresión de disco por razones legales.
  • PC DOS 7.0 (1995), de IBM, incluyó una versión de Stacker 4.02 habilitada para DPMS de Stac Electronics.
  • Windows 95 (1995), de Microsoft, incluyó una versión actualizada de DriveSpace 2 .
  • Windows 95 OSR2 (1996), de Microsoft, incluyó una versión reducida de DriveSpace 3 .
  • Windows 95 Plus! (1996), de Microsoft, incluyó la versión completa de DriveSpace 3 .
  • OpenDOS 7.01 (1997), de Caldera (después de adquirir Novell DOS), incluyó una versión de Stacker 3.12 habilitada para DPMS . [11]
  • DR-DOS 7.02 (1998), de Caldera, incluyó una versión de Stacker 3.12 habilitada para DPMS . [13] DR-DOS 7.02 también agregó soporte para DriveSpace de Microsoft . [14]
  • PC DOS 2000 (1998), de IBM, incluyó una versión de Stacker 4.02 habilitada para DPMS .
  • Windows 98 (1998), de Microsoft, incluyó la versión completa de DriveSpace 3 .
  • DR-DOS 7.03 (1999), de Caldera, incluyó una versión de Stacker 3.12 habilitada para DPMS .
  • Windows 98 SE (1999), de Microsoft, incluyó la versión completa de DriveSpace 3 .
  • PTS-DOS Pro 2000 (1999), de Paragon Technology Software , incluyó 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]
  • Squish Plus ROM 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 para 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 Stac's DPMS- habilitado Stacker 4.01 combinado con Helix Cloaking y utilidades, utilizando el servidor DPMS integrado de Cloaking para reubicar y ejecutar en modo protegido .
  • Sistema de archivos THS (1994-1996 por Thomas Scheuermann), un controlador del 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 admitir la lectura y escritura de DoubleSpace, DriveSpace 2 y 3, así como los volúmenes Stacker 3 y 4.

Si bien Windows XP , de Microsoft, incluyó tanto un soporte nativo como un comando llamado compact que comprime archivos en sistemas NTFS , eso no se implementa como una "unidad comprimida" separada como las anteriores.

Operación

La compresión de disco generalmente crea un solo archivo grande, que se convierte en un disco duro virtual . Esto es similar a cómo se puede dividir un solo disco duro físico en múltiples unidades virtuales. Se accede a la unidad comprimida a través de un controlador de dispositivo .

Comprimir unidades existentes

Inicialmente, 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:

  • Cree 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 deje espacio vacío cuando termine.
  • Cuando se transfirieron todos los archivos, se intercambiarían las letras de las unidades.

Por lo general, ciertos archivos del sistema no se transferirían. Por ejemplo, los archivos de intercambio de SO permanecerían solo en la unidad de 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 ( Registro de arranque maestro ).
  • El sector de la partición carga el sector 0 de la partición de arranque ( Volume Boot Record ). En este caso, es la unidad de host.
  • El sector 0 de la unidad de host carga (en el caso de DOS ) el BIOS de DOS ( IO.SYS , IBMBIO.COM , etc.) Dependiendo de 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 de DOS carga el kernel de DOS ( MSDOS.SYS , IBMDOS.COM , etc.)
  • Si DOS admite la API de precarga , el BIOS de 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 de DOS. [14] [11] Si el controlador responde como se esperaba, el BIOS de DOS mantendrá el controlador, si no, se descartará. [8] Si se mantiene y configura en consecuencia, las letras de la unidad pueden intercambiarse, de modo que la unidad comprimida se convierta en C :.
  • El BIOS de 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 aún no ha sucedido, las letras de la 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 del disco podría aumentar el rendimiento del sistema. Esto se logró de dos maneras:

  • Una vez comprimidos, había menos datos que almacenar.
  • Los accesos al disco a menudo se agrupan por lotes para mayor eficiencia.

Si el sistema tuviera que esperar con frecuencia a que se completara el acceso al disco duro ( vinculado a E / S ), la conversión del disco duro en unidades comprimidas podría acelerar el sistema de manera significativa. La compresión y descompresión de los datos aumenta la utilización de la CPU. Si el sistema ya estaba vinculado a la CPU , la compresión del disco reduce el rendimiento general. [11]

Inconvenientes

Algunos inconvenientes comunes de usar 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 archivos con enlaces cruzados , pueden provocar una pérdida de datos adicional durante el proceso de transferencia. [nb 1]
  • La unidad comprimida solo es visible si el controlador de dispositivo está cargado y la unidad comprimida está montada. Un disco de arranque , por ejemplo, puede que no contenga el controlador. (Normalmente, esto no era 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 en los discos de inicio de forma predeterminada, [11] [21] y la operación correspondiente los sistemas también recurrirían para buscarlos en unidades distintas del disco de arranque si no se pudieran 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 dieron cuenta de que el archivo grande en la unidad de host contenía la unidad comprimida. Aunque normalmente estaba "oculto" de forma predeterminada, [nb 2] los usuarios que encontraron el archivo grande curioso o sospechoso pudieron eliminarlo. Normalmente, esto daría lugar a la pérdida de datos.

Ver también

  • Compresión RAM
  • Compresión de datos
  • Fragmentación de disco
  • Compresión ejecutable
  • Archivo autoextraíble
  • cramfs
  • e2compr
  • SquashFS
  • MDFAT (DoubleSpace)
  • BitFAT (DoubleSpace)
  • MDBPB (DoubleSpace)

Notas

  1. ^ En los archivos con enlaces cruzados , dos archivos almacenan al menos parte de sus datos en la misma ubicación. En esta instancia, siempre se pierde al menos parte de un archivo (el archivo "malo"). Sin embargo, si el archivo "malo" se copia y luego se elimina, también se elimina parte del archivo "bueno". Microsoft SCANDISK se creó, en parte, para realizar una mejor verificación del sistema de archivos antes de la compresión que lautilidad CHKDSK de MS-DOS .
  2. ^ Por ejemplo, DOS asoció hasta cuatro atributos con archivos: Sistema, Oculto, Solo lectura y Archivo. Los archivos con los atributos Sistema u Ocultos a menudo no se muestran de forma predeterminada. Los archivos con el atributo Sistema o Solo lectura no se pueden eliminar con elcomando ERASE o DEL DOS. 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 (muchos usarí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

  1. ↑ a b c d Slovick, Linda (17 de febrero de 1992). "El gran apretón" . InfoWorld . 14 (7): 57–63 . Consultado el 6 de abril de 2015 .
  2. ↑ a b c d e Pastrick, Greg (28 de enero de 1992). "Duplique, no, triplique el espacio de su disco duro con las utilidades de compresión de datos sobre la marcha" . Revista de PC . 11 (2): 261 . Consultado el 6 de abril de 2015 .
  3. Mendelson, Edward (13 de noviembre de 1990). "Expanz! Board comprime rápidamente archivos en todos los tipos de disco, pero pierde algunas compatibilidades con DOS" . Revista de PC . 9 (19): 13 . Consultado el 6 de abril de 2015 .
  4. Walkenbach, John (2 de febrero de 1987). "Squish: el compresor de archivos almacena los datos en un espacio más pequeño, pero lentamente" . InfoWorld . 9 (6): 55 . Consultado el 5 de abril de 2015 .
  5. Davis, Stephen Randy (24 de febrero de 1987). "Squish aprieta los archivos antes de que se escriban en el disco" . Revista de PC . 6 (4): 46 . Consultado el 6 de abril de 2015 .
  6. ↑ a b Goldstein, Hal (8 de julio de 1989). "50% más de espacio en archivos por tan solo $ 89.95" (PDF) . El papel portátil . Software personalizado , ahora Thaddeus Computing . 4 (4): 46 . Consultado el 5 de abril de 2015 .
  7. ^ http://files.mpoli.fi/unpacked/software/dos/compress/jam125sw.zip/readme.doc
  8. ↑ a b Slivka, Benjamin W .; Straub, Eric; Freedman, Richard (julio de 1993). "Hands on - Under the Hood: Inside MS-DOS 6 - Los desarrolladores de MS-DOS describen la optimización de la memoria del sistema operativo y la tecnología de compresión de disco" . Revista BYTE . 18 (8): 197–202 . Consultado el 1 de noviembre de 2016 . [1]
  9. ^ a b c Schulman, Andrew; Brown, Ralf D .; Maxey, David; Michels, Raymond J .; Kyle, Jim (1994) [noviembre de 1993]. DOS sin documentar: una guía del programador para las funciones y estructuras de datos reservadas de MS-DOS, expandida para incluir MS-DOS 6, Novell DOS y Windows 3.1 (2 ed.). Addison Wesley . ISBN 0-201-63287-X.(xviii + 856 + vi páginas, 3.5 "-floppy) Fe de erratas: [2] [3]
  10. ↑ a b Chappell, Geoff (1994). Internos de DOS . Addison Wesley . ISBN 978-0-201-60835-9. [4] [5] Fe de erratas: [6] [7] [8]
  11. ↑ a b c d e f g Paul, Matthias R. (30 de julio de 1997). NWDOS-TIPs - Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds . MPDOSTIP . Release 157 (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 completo sobre Novell DOS 7 y OpenDOS 7.01 , que incluye la descripción de muchas características internas y no documentadas. Es parte de la colección MPDOSTIP.ZIP aún más grande del autor, mantenida hasta 2001 y distribuida en muchos sitios en ese momento. El enlace proporcionado apunta a una versión anterior convertida en HTML del archivo NWDOSTIP.TXT.
  12. ^ "Clon de MS-DOS fabricado en Rusia" . Computerwoche . 1994-05-06 . Consultado el 12 de abril de 2015 .
  13. ^ 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 .
  14. ↑ a b c d Paul, Matthias R. (2 de octubre de 1997). "Caldera OpenDOS 7.01 / 7.02 Actualización Alpha 3 IBMBIO.COM README.TXT" . Archivado desde el original el 4 de octubre de 2003 . Consultado el 29 de marzo de 2009 . [9]
  15. ^ "Exprima 10 veces más hojas de cálculo en un disco - ¡SQZ! - El exprimidor de datos para Lotus" . Revista de PC . Turner Hall Publishing: 155. 14 de octubre de 1986 . Consultado el 18 de noviembre de 2016 .
  16. ^ ftp://sunsite.unc.edu/pub/Linux/system/Filesystems/dosfs/thsfs.tgz [ enlace muerto permanente ]
  17. ^ https://lists.debian.org/debian-user/1996/09/msg01042.html
  18. ^ http://ftp.nluug.nl/ftp/ibiblio/system/filesystems/thsfs.lsm
  19. ^ "DMSDOS - controlador del kernel de Linux" . 2005-03-18. Archivado desde el original el 11 de noviembre de 2016 . Consultado el 25 de mayo de 2016 .
  20. ^ "Módulo CVF DMSDOS" (dmsdoc.doc). 0.9.2.0. 1998-11-19. Archivado desde el original el 2 de noviembre de 2016 . Consultado el 1 de noviembre de 2016 .
  21. ^ a b DR-DOS 7.03 WHATSNEW.TXT - Cambios de DR-DOS 7.02 a DR-DOS 7.03 . Caldera, Inc. 24 de diciembre de 1998. Archivado desde el original el 8 de abril de 2019 . Consultado el 8 de abril de 2019 .

enlaces externos

  • "Referencia técnica de MS-DOS 6" .
  • "Diseño de archivo CVF DoubleSpace" . ff.
  • "¿Qué tan segura es la compresión de disco?" . Revista BYTE . Febrero de 1994. Archivado desde el original el 19 de junio de 2008.
  • "Cómo ... comprimir discos duros" . Computación inteligente . Abril de 1999.
Obtenido de " https://en.wikipedia.org/w/index.php?title=Disk_compression&oldid=1052566341#DoubleDisk "