Mover datos de una partición a otra en la misma unidad

Mover datos de una partición a otra en la misma unidad

Mover datos de una unidad a otra es lento. Copiar datos de un disco a sí mismo es lento. Mover datos de una unidad a sí mismo es rápido.

Si estoy moviendo datos en el MISMO disco pero en una partición diferente, ¿no debería ser rápido? Supuse que el movimiento sería un cambio importante en la tabla y no un movimiento real (copiar/eliminar) de los datos en el disco. ¿Cómo puedo estar seguro de que esto es lo que sucede?

Para su información, estoy en Mac OSX y estoy tratando con dos particiones fat32 en el mismo externo.

Respuesta1

Si estoy moviendo datos en el MISMO disco pero en una partición diferente, ¿no debería ser rápido? Supuse que el movimiento sería un gran cambio de mesa...

No, porque una FAT es parte deasistema de archivos, y cada partición contieneunosistema de archivos. Entonces, si mueve datos a un sistema de archivos diferente, el sistema operativo no puede simplemente reorganizar las cosas en una tabla gruesa: hay dos a considerar y no se asignan entre sí de manera arbitraria. El destino debe asignar parte de su propio espacio y la fuente (en un movimiento) libera parte.

Si solo fuera cuestión de reordenar las tablas, te encontrarías con inconsistencias como:

  • Tengo una partición de 100 GB y una partición de 2 GB. Si mover uno a otro solo implicara reorganizar tablas, debería poder mover un archivo de 20 GB del primero al segundo.

  • Muevo archivos a una partición en una memoria USB, luego muevo la memoria USB: si mover archivos solo implica reorganizar tablas, ¿dónde estarán los archivos cuando coloque esto en otra computadora?

Me doy cuenta de que el segundo caso no es parte del contexto al que te refieres, pero la razón por la que equivalen a lo mismo es porque, de lo contrario, necesitarías otra capa de abstracción almacenada en el dispositivo. No puede ser algo simplemente inventado y manipulado por el sistema operativo, porque puedes mover el dispositivo y/o usarlo bajo un sistema operativo diferente: ¿ahora dónde está la información?

Dispositivospuedecontienen metadatos que indican el tamaño, tipo y desplazamiento de sus particiones. Afortunadamente,no contienen información sobre elcontenidode estas particiones. Digo afortunadamente porque esto seguramente creará más problemas de los que resolverá.

Los sistemas de archivos están pensados ​​para ser entidades discretas de nivel superior, no cosas que formen parte de un sistema de almacenamiento más grande (aunquepuedeya sea en algunos contextos).

Sin embargo, algunos dispositivos, como los SSD, pueden implementar una función de optimización similar a la que usted implica a nivel de hardware. En otras palabras, si mueve algo de una partición a otra en un SSD, es posible que solo reorganice algunas referencias, en la medida en que ese hardware se contabilice por sí mismo como un todo, independientemente de cómo se haya dividido en diferentes particiones en un SSD. mayor nivel de abstracción. Esto sería totalmente opaco para el sistema operativo y todo lo demás, pero puede notarlo como un movimiento extremadamente rápido. Requiere que el dispositivo ejecute algún tipo de firmware que presente unvirtualconjunto de direcciones de bloque al sistema operativo, luego las asigna al sistema físico, algo que las unidades tradicionales no hacen: presentan las direcciones físicas reales al sistema operativo para que pueda hacer el uso óptimo de ellas. Por lo tanto, las implementaciones de sistemas de archivos (FAT, etc.) deben asumir que están organizando una región física real de un dispositivo y que no hay ninguna capa por encima del sistema de archivos para intentar organizar aún más el contenido de todo el dispositivo (más allá de dividirlo en particiones).

información relacionada