2011-02-10 17 views
6

Tengo una pregunta simple.¿Los archivos de 0 bytes son realmente 0 bytes?

Cuando creamos un archivo, digamos "abc.txt" y lo dejamos en blanco.
El sistema operativo mostrará que el archivo tiene un tamaño de 0 bytes y ocupa 0 bytes en el disco.

Si guardamos 100 de estos archivos de 0 bytes en una carpeta, el sistema operativo también indicará que el tamaño total de la carpeta es de 0 bytes.

Esto puede sonar lógico porque no hay nada en el archivo. Pero, ¿no deberían estos archivos tomar al menos unos pocos bytes en el dispositivo de almacenamiento?

Después de todo, lo guardamos en algún lugar y lo nombramos algo. ¿No debería el nombre del archivo y posiblemente algunos otros encabezados ocupar algo de espacio?

+0

Sí, ocupa algo de espacio. Los números informados por el sistema operativo son redondeados. –

Respuesta

4

No, todavía ocupan algunos bytes en el sistema de archivos. De lo contrario, implementaría un sistema de archivos ordenado que almacena todo en términos de nombres de archivo en archivos vacíos.


Para mí, en realidad se reduce a una cuestión de definición. O bien el "tamaño de un archivo" se refiere a el tamaño del contenido del archivo, o se refiere a la "diferencia" que hace en términos de bytes libres en el sistema de archivos subyacente (es decir, tamaño de contenido (redondeado al tamaño de bloque o clúster más cercano) + bytes utilizados para inode).

+0

¿Básicamente, el sistema operativo oculta toda esta información lejos de nosotros? – Karl

+0

Bueno, depende de cómo lo veas. Si tiene una [FAT] (http://en.wikipedia.org/wiki/File_Allocation_Table) o similar, puede ser una cuestión de definición, independientemente de si el nombre del archivo, la ruta, etc. forman parte del archivo en sí. . – aioobe

2

Estos detalles se almacenan en lo que se conoce como File Allocation Table (hablando en contexto FAT de Windows) tradicionalmente. Se crean cuando formateamos el disco duro. Se le asigna un espacio predefinido. No creo que el tamaño cambie.

Por ejemplo, formatee un disco duro de 100 GB, solo 90+ GB están disponibles para su uso. El sistema de archivos utiliza otro espacio para administrar/recordar cada archivo/carpeta que se guarda en el disco duro y donde se guarda.

2

El hecho de que estén presentes en el disco significa que se ha creado un registro para ellos, lo que por supuesto requiere cierta cantidad de memoria. Los 0 bytes simplemente corresponden al tamaño lógico del archivo redondeado a la granularidad que se muestra en la interfaz de usuario, pero incluso entonces es probable que contenga un encabezado de archivo que dependerá del formato del archivo.

2

La respuesta a esta pregunta depende del sistema de archivos.

Por ejemplo, en NTFS, un archivo vacío ocupa un clúster y un clúster tiene un tamaño que depende del tamaño de su disco duro.

Here puede leer algunos clúster de tamaño común para los sistemas de archivos de Windows.

Cuestiones relacionadas