2012-05-10 31 views
5

Estoy aprendiendo sobre el sistema de archivos FAT y cómo calcular el tamaño de FAT. Ahora, tengo esta pregunta:Cómo calcular FAT

Considere un tamaño de disco de 32 MB y el tamaño de bloque es de 1 KB. Calcule el tamaño de FAT16.

Ahora, sé que para calcularlo, multiplicaríamos el número de bits por entrada con el número de bloques. Así que el primer paso sería calcular el número de bloques = (32MB)/(1KB) = 2^15 = bloques de 32 KB.

Entonces, pondríamos eso en la primera ecuación para obtener = 2^16 * 2^15 = 2^19 Ahora, hasta aquí lo entiendo y pensé que esa es la respuesta (y así es como Encontré que se calcula en http://pcnineoneone.com/howto/fat1.html).

Sin embargo, la respuesta que recibí da un paso más para dividir 2^19 por (8 * 1024), lo que básicamente daría una respuesta de 64KB. ¿Porqué es eso? He buscado durante horas, pero no pude encontrar nada.

¿Alguien puede explicar por qué realizaríamos el paso adicional de dividir 2^19 entre (8 * 1024)? oh, y la otra pregunta indicó que el tamaño del bloque es 2KB y por lo tanto dividió el resultado final entre (8 * 1024 * 1024) ... ¿de dónde vienen los 8 y 1024? por favor ayuda

+1

, por supuesto, pero no es "cómo descubro x", es "pensé" debería haber sido x, pero fue y. why " –

+1

sí lo es, y tengo la respuesta, estoy tratando de entenderlo para que si aparece de nuevo puedo aplicarlo correctamente. –

+0

Eso dependería del tamaño del clúster. ¿El clúster es equivalente al bloque en este ejemplo? Estoy asumiendo ese bloque == sector también. –

Respuesta

1

estás usando FAT16. Los clústeres se representan con 16 bits, lo que significa 16/8 = 2 bytes. Para obtener el tamaño en bytes, el resultado debe dividirse por 8. Para obtener el resultado en kilobytes, debe dividir el resultado en 8 * 1024

+0

Gracias por la respuesta –