¿Escribir en un disco es una operación más costosa que leer desde un disco? Por ejemplo, escribir un archivo de registros de 1 GB en comparación con leer el archivo completo.
Respuesta1
A nivel de unidad, una operación de lectura del sector tomaría aproximadamente el mismo tiempo (o un poco más) que una operación de escritura del sector. Para un sector de lectura, el comando debe llegar a través de la interfaz de la unidad (por ejemplo, SATA), el comando decodificado, la búsqueda emitida, escanear las marcas de dirección y registrar las identificaciones hasta que se encuentre el sector, leer los datos del sector en un búfer, validar el sector usando ECC ( código de corrección de errores), y luego finalmente enviar los datos del sector. (Tenga en cuenta que existe una idea errónea generalizada de que los datos del sector se pueden transferir directamente desde el cabezal de lectura a la interfaz. Absolutamente falso: los datos del sector siempre están completamente almacenados en el búfer y siempre se transmiten a la velocidad máxima de la interfaz solo después de que se haya leído todo el sector. y validado.) Si se realiza una lectura anticipada y se almacena en caché, una lectura secuencial posterior no tendrá los retrasos de búsqueda y rotación. Para un sector de escritura, el comando y los datos del sector deben llegar a través de la interfaz de la unidad, el comando decodificado, la búsqueda emitida, escanear las marcas de dirección y registrar las ID hasta que se encuentre el sector, escribir el sector con ECC y se notifica al host la finalización.
A nivel del sistema operativo o del sistema de archivos, las escrituras son más complejas cuando se crea un archivo nuevo. Leer o reescribir un archivo de disco existente solo requiere buscar dónde se encuentran los sectores (o clústeres) de datos. Escribir un archivo nuevo o agregarlo a un archivo requerirá primero asignar sectores/clústeres de la lista libre, asignar esos sectores/clústeres al archivo (¿actualización de entrada de directorio?) y luego escribir los datos. Tenga en cuenta que las tablas de asignación de disco normalmente se actualizarán (es decir, se escribirán en el disco) lo antes posible, tal vez incluso antes que los datos del archivo, para mantener la integridad del sistema de archivos. Si alguna vez ha notado/escuchado muchas búsquedas de disco mientras creaba un archivo, puede asumir que las cabezas se movían entre la tabla de asignación y el nuevo archivo.