O tienes suerte de nunca haber tenido datos corruptos, o tienes mala suerte de nunca haber notado que tus datos estaban dañados.
Cuando realiza una acción que debería escribir en un disco, la mayoría de los sistemas operativos ponen la operación de escritura en una cola. De vez en cuando, eliminan la cola. (Lo llamo cola aquí, pero en realidad las operaciones se pueden realizar fuera de orden, los sistemas operativos lo hacen cuando es más rápido y da el mismo resultado final). Esto puede hacer que las operaciones de escritura sean mucho más rápidas, tanto porque el sistema intenta realizarlos cuando no tiene nada mejor que hacer y porque puede agruparlos de manera inteligente.
Si desconecta su dispositivo antes de que todo se haya escrito, puede perder los datos más recientes. Peor aún, si el sistema operativo ha estado realizando operaciones fuera de orden, puede poner su dispositivo en un estado inconsistente y perder más que los últimos datos.
Algunos sistemas operativos entran en un modo más conservador (pero más lento) para dispositivos extraíbles, para reducir los riesgos asociados con la desconexión del dispositivo antes de que se haya desmontado.
AGREGADO :
Hacer operaciones fuera de orden a veces no es solo una cuestión de velocidad. Los medios flash baratos (que no hacen una reasignación de sector a nivel de hardware) tienen una limitación en la cantidad de veces que puede escribir sobre un sector determinado. Si ingenuamente escribe todos los cambios a medida que ocurren, esto puede matar los sectores que contienen la tabla de asignación de archivos en un sistema de archivos (V) FAT (el caso más común para unidades extraíbles) o el diario en un sistema de archivos moderno típico. (Vea, por ejemplo, esta discusión sync
en la lista de correo del kernel de Linux ). Aquí, no actualizar el FAT o el diario cada vez que se escribe un archivo no es solo una gran ganancia de rendimiento, también es bueno para la vida útil del hardware.
Hasta hace poco, Linux solo daba una opción entre sync
(escribir todos los cambios a medida que ocurren) y async
(escribir cuando sea conveniente). Las versiones recientes introducen la flush
opción para los sistemas de archivos FAT, que está en algún punto intermedio (elimine todas las escrituras retrasadas tan pronto como el disco se vuelva inactivo); está activado por defecto en Ubuntu 10.04.
En una nota diferente, desmontar una unidad extraíble asegura que ninguna aplicación tenga un archivo abierto. Si no desmontas antes de desconectar, no notarás si tienes datos sin guardar hasta que sea demasiado tarde. Desmontar mientras un archivo está abierto también aumenta la posibilidad de corrupción, tanto a nivel del sistema de archivos (el sistema operativo puede haber puesto en cola algunas operaciones hasta que se cierra el archivo) como a nivel de la aplicación (por ejemplo, si la aplicación coloca un archivo de bloqueo, ganó ' t ser eliminado).