comprender los modos de escritura "-dao", "-sao", "-tao" y "-raw" para wodim en la práctica

10

En wodim, uno puede elegir entre muchos modos de escritura diferentes como Disk At Once ("- dao"), Session At Once ("- sao"), Track At Once ("- tao") o modo de escritura Raw ("- raw") . Según tengo entendido, Track At Once escribe una pista a la vez mientras está en los modos SAO y DAO, el láser no se detiene entre las pistas. ¿Es esto importante solo en el caso de los CD de audio y no hay diferencia en el caso de los CD de datos (por ejemplo, quemar la imagen de distribución de Linux)? Además, incluso en el caso de los CD de audio y el modo TAO, ¿cómo sabe wodim dónde comienza o termina una pista? ¿Estoy en lo cierto de que el modo SAO permite escribir varias veces en un CD-R? Por último, pero no menos importante, ¿en qué caso es útil el modo de escritura sin formato?

Martín
fuente

Respuestas:

9

Los formatos CD-DA , CD-ROM , CD-R y CD-RW almacenan información en 2.352 sectores de bytes, divididos en 98 tramas distintas de 24 bytes. En los discos CD-DA, cada cuadro de 24 bytes contiene dos muestras de audio de 16 bytes, una para cada canal estéreo. La especificación de CD-ROM define dos modos de sector, Modo 1 y Modo 2, que describen dos diseños de sector diferentes. Ambos modos reservan los primeros 16 bytes para la información del encabezado. El modo 1 utiliza 288 bytes adicionales para la detección de errores (CRC de 32 bits) y la corrección (RSPC de 276 bytes).

 ------------------------------------------------------------------------------------------------------------------------
| Format        |                                           2,352-byte sector                                            |
|------------------------------------------------------------------------------------------------------------------------|
| CD-DA         | 24-byte data frame (1) | 24-byte data frame (2) |            . . .           | 24-byte data frame (98) |
| -----------------------------------------------------------------------------------------------------------------------|
| CD-ROM Mode 1 | 12-byte sync pattern | 3-byte address | 2,048-byte data | 4-byte CRC | 8-byte reserved | 276-byte RSPC |
| -----------------------------------------------------------------------------------------------------------------------|
| CD-ROM Mode 2 | 12-byte sync pattern | 3-byte address |                        2,336-byte data                         |
 ------------------------------------------------------------------------------------------------------------------------

Sesiones

La noción de sesiones se agregó a las especificaciones del formato de CD simultáneamente con las especificaciones para los formatos CD-R y CD-RW.

Cada sesión consta de tres áreas que imitan la estructura original del CD-DA y CD-ROM: el plomo en el área contiene la sesiones de la Tabla de Contenidos (TOC); el área del programa contiene las pistas individuales; El área de salida marca el final de la sesión. Aunque la noción de sesiones no existía en el momento en que se escribieron las especificaciones originales de CD-DA y CD-ROM, estos formatos más antiguos consisten en lo que esencialmente equivale a una sola sesión por disco.

Algunos formatos de disco, como CD-R y CD-RW, admiten múltiples sesiones por disco. Cada sesión contiene una o más pistas. En discos de varias sesiones, el TOC en el área de inicio de las sesiones posteriores incluye las direcciones de las sesiones anteriores. El TOC en el área de entrada de la última sesión se usa para acceder a las pistas del disco.

El estándar ISO 9660 Compact Disc File System (CDFS) graba un índice de archivos presentes en un disco en una serie de descriptores de volumen que se almacenan en un desplazamiento fijo desde el inicio del disco. En contraste, los discos de sesiones múltiples almacenan los descriptores de volumen en un desplazamiento fijo en la última sesión . Cuando se agregan archivos a un disco de datos de varias sesiones, se almacena una copia actualizada de todo el árbol de directorios como parte de la nueva sesión. Los archivos se pueden "eliminar" eliminando la referencia al archivo de la última sesión. Sin embargo, como los datos del archivo real nunca se modifican, se puede acceder a los archivos "eliminados" a través del árbol de directorios desde una sesión anterior.

Modos de escritura

Hay varios modos de grabación, incluidos los que se mencionan explícitamente en la pregunta:

  • Seguimiento a la vez

    El contenido del CD se subdivide en conjuntos consecutivos de sectores conocidos como pistas. En el modo Track-At-Once (TAO), el láser se detuvo y reinició entre cada pista. Este retraso provoca áreas de transición, conocidas como espacios intermedios entre las pistas. Esto no se puede evitar, pero los grabadores que admiten Track-At-Once de intervalo variable pueden ajustar el tamaño del pre-gap a un mínimo de 2 sectores (2/75 de segundo).

    Con la mayoría de las unidades, se requiere el modo TAO para la grabación de sesiones múltiples.

  • Disco a la vez

    En el modo Disc-At-Once (DAO), el contenido del disco se graba en una sola pasada sin detener el láser. Esto permite que los datos se escriban en las áreas previas a la separación para evitarlos por completo.

  • Sesión a la vez

    En el modo Sesión a la vez (SAO), se pueden grabar y finalizar múltiples sesiones en un solo disco. El disco resultante puede leerse en unidades de computadora, pero las sesiones posteriores al primero generalmente no son legibles por el equipo de CD Audio.

    En Wodim, los modos DAO y SAO son sinónimos. Si bien la mayoría de las unidades requieren la creación de discos de sesiones múltiples en modo TAO, Wodim también tiene soporte para crear discos de sesiones múltiples en modo SAO, suponiendo que la unidad de disco subyacente lo admita.

  • Modo crudo

    Las imágenes de disco de CD-ROM se pueden crear en modo sin procesar (extrayendo 2,352 bytes por sector independientemente del modo de sector) u obteniendo solo los datos reales en el sector (2,048 / 2,336 / 2,352 / 2,324 bytes dependiendo del modo de sector) El tamaño del archivo de las imágenes de disco en modo sin formato siempre es un múltiplo de 2,352 bytes. Cuando tales imágenes de disco se escriben en un medio óptico en modo sin procesar, los sectores de 2.352 bytes, que ya incluyen el patrón de sincronización y posiblemente los datos de detección y corrección de errores, se escriben en el disco tal como están.

  • Escritura de paquetes

    Incremental Packer Writing (IPW) permite que los discos ópticos se utilicen de manera similar a los dispositivos de bloque grabables, es decir, permite crear, modificar o eliminar archivos a pedido. Esto se logra escribiendo una serie de pistas cortas (32k-256k) en el disco en modo paquete. Los discos CD-R / RW se pueden formatear en dichos paquetes, y el módulo kernel pktcdvd (controlador de escritura de paquetes) almacena las escrituras en el disco y se encarga de borrar y reescribir un paquete completo de forma transparente.

    Wodim tiene soporte experimental para la escritura de paquetes.

Thomas Nyman
fuente
Vale la pena señalar que la descripción del diseño del sector pasa por alto algunos detalles, como el índice de subtrayecto , los subcanales y la codificación CIRC a favor de la brevedad.
Thomas Nyman
Buena respuesta pero algunos puntos: 1) usas bit en algunos lugares donde creo que te referías a byte. 2) El modo de paquete no reasigna nada, solo escribe una serie de pistas cortas (32-256k). Los discos cdrw pueden formatearse en dichos paquetes, y puede usar el controlador kernel pktcdvd para guardar las escrituras en el disco y manejar de forma transparente la eliminación y reescritura de un paquete completo a la vez, lo que le permite formatear y montar un sistema de archivos regular en el disco y úsalo como un disquete gigante.
psusi
Finalmente, vale la pena señalar que los "sectores" de CDDA son una abstracción creada por la unidad y en realidad no existen en el disco, lo que causó problemas desde el principio al extraer correctamente las pistas de audio desde que el láser dejó de leer, buscando el siguiente "sector" para reanudar no se pudo hacer exactamente.
psusi
@psusi Gracias por los comentarios. Arreglé los errores de bits / bytes y agregué tus notas a la sección sobre escritura de paquetes.
Thomas Nyman