Depende mucho del sistema de archivos en uso, hasta cierto punto del sistema operativo, así como del programa que abre el archivo. Depende de la aplicación solicitar la cantidad correcta de almacenamiento al crear un nuevo archivo, y son las características del sistema operativo y del sistema de archivos las que afectan el comportamiento de apertura y extensión que estas aplicaciones siguen cuando no saben cuánto espacio pedir.
Si un programa le pide al sistema operativo un archivo de 4.2GB, el sistema operativo encontrará un trozo de espacio con 4.2GB gratis. De lo contrario, le dará al programa suficientes fragmentos de espacio libre para guardar el archivo. Aquí hay algunas variables, esto se simplifica.
Si un programa le pide al sistema operativo un archivo de 4KB, el sistema operativo lo dará. Si el programa sigue pidiendo nuevos segmentos contiguos de 4KB (está descargando un archivo y el programa no sabía qué tan grande era) hasta que obtiene 4.2GB de espacio, el sistema operativo felizmente le dará espacio. Este es el caso donde el sistema de archivos y el sistema operativo hacen las diferencias.
XFS, por ejemplo, se basa en la extensión, por lo que el espacio agregado será contiguo hasta que no pueda serlo. Además, XFS se puede configurar para preasignar nuevos archivos con una cierta cantidad de espacio que puede minimizar aún más la fragmentación (útil en los volúmenes de almacenamiento de la máquina virtual, así como los volúmenes ISO de DVD).
EXT2 / 3, NTFS, y creo que Reiser, asignará contiguos hasta que ya no pueda. Entonces comenzará nuevos fragmentos. Sin embargo, cada fragmento podría tener un tamaño de 4KB.
Tomemos el peor de los casos. Dos archivos paralelos de 4.2GB que se guardan 4KB a la vez en paralelo, en el mismo directorio. Lo del 'mismo directorio' es parte del peor de los casos, ya que algunas combinaciones de OS / FS intentan mantener los archivos en el mismo directorio cerca uno del otro. Para algunas combinaciones de OS / FS, esto dará como resultado que los dos archivos se intercalen completamente en el disco. Para otros que intentan mantener archivos nuevos abiertos en diferentes segmentos libres, puede no haber fragmentación o muy poca.
Un poco en XFS (creo que ext4 y btrfs también pueden hacer esto). En este caso, la intercalación no será 4KB, será lo que establezca el valor de tamaño de asignación al montar el volumen. Configúrelo en 256 MB, y obtendrá un archivo de 4.2 GB con 17 fragmentos en lugar de más de un millón. Útil para volúmenes que almacenan archivos grandes como servidores de medios. No es útil para volúmenes que almacenan muchos archivos pequeños y algunos grandes.
Es por esto que los clientes de Bittorrent abren archivos dispersos al iniciar una nueva descarga o simplemente asignan el tamaño especificado en total antes de comenzar.
Al copiar archivos de diferentes partes de la misma partición (o diablos, incluso de otras particiones), el proceso de copia sabe teóricamente qué tan grandes son los archivos copiados, por lo que solicita un espacio del tamaño apropiado desde el sistema operativo desde el principio; no es necesario agregar asignaciones para nuevos archivos.