2011-01-11 7 views
14

No estoy buscando una solución alternativa; Me gustaría una explicación. La mayoría de los enlaces que encontré a través de Google me dicen que el límite del archivo es de 4 GB, pero no por qué.¿Por qué los discos FAT32 están limitados a archivos de 4GB?

Soy consciente de la explicación de Wikipedia: http://en.wikipedia.org/wiki/File_Allocation_Table#FAT32

Pero esto todavía no entra en detalles acerca de por qué. (¿Qué tiene que ver SCANDISK con esto?)

Quizás entonces entienda si es posible superar el límite de tamaño de 4 GB.

Respuesta

5

extender esa respuesta, FAT32 se deriva de FAT16 y FAT12. Cuando se introdujo FAT12, las PC tenían un sistema operativo de 16 bits y no había unidades de más de diez megabytes. No creo que nadie esperara que alguien en una PC necesite un archivo que sea cuatrocientas veces el tamaño de la unidad más grande disponible. Además, incluso si Microsoft tuvo la previsión de asignar un byte extra para cada entrada de directorio para contener bits 32-39 del tamaño del archivo (lo que permite archivos de hasta un terabyte cada uno) es dudoso que los programadores de aplicaciones lo hubieran utilizado. Ningún idioma proporcionó soporte conveniente para matemáticas enteras de más de 32 bits; incluso las matemáticas de 32 bits fueron consideradas bastante sofisticadas.

Una gran pregunta en mi mente es por qué no estoy al tanto de ningún esfuerzo para avanzar hacia una interfaz de almacenamiento estándar que no sea FAT32 que no esté basada en sectores numerados secuencialmente. Ambas memorias USB y discos duros podrían beneficiarse al conocer la importancia lógica de varias escrituras sectoriales (en el caso de flash, porque eliminaría la necesidad de copiar sectores borrados al realizar la gestión del desgaste; en el caso de los discos duros, porque permitiría escribe para volverse a secuenciar de formas que no violen los requisitos de coherencia de datos).

21

Porque FAT32 almacena tamaños de archivo de 32 bits y el máximo que puede almacenar en 32 bits es 2^32-1 ~ = 4.29e9. 2^32-1 bytes = 4 GB - 1 byte.

(Esto es, de hecho, se explica en el artículo de Wikipedia.)

+0

Sí, lo sé, pero * ¿por qué? ¿Hace eso? Por alguna convención al azar? Seguramente las personas que diseñaron el sistema de archivos sabían que ese sería el límite, entonces, ¿por qué conformarse con ese límite? ¿Fue por el hardware disponible en ese momento? – user5243421

+12

FAT32 se implementó en hardware de 32 bits para un sistema operativo de 32 bits con un compilador de 32 bits, por lo que es una opción obvia y cualquier cosa más allá de 32 bits habría costado preciosos ciclos de procesador, espacio en disco y tiempo de programación. (En aquellos días, pensamos que 4GB era bastante grande para una HD, y mucho menos para un solo * archivo *.) –

+0

Ah, muy interesante. Eso es exactamente lo que me preguntaba. ¡Gracias! – user5243421

0

Tengo la misma duda, y finalmente me di cuenta de que cada archivo tiene sus propios metadatos que contienen 4 bytes para el tamaño del archivo. Entonces, el tamaño máximo de archivo es 4G - 1 bytes.

Cuestiones relacionadas