8
votes

Les fichiers 0 octets sont-ils vraiment 0 octets?

J'ai une question simple.

Lorsque nous créons un fichier, disons "abc.txt" et laissons-la vide.
Le système d'exploitation montrera que le fichier est la taille de 0 octets et prend 0 octets sur disque.

Si nous économisons 100 de ces 0 dossiers d'octets dans un dossier, le système d'exploitation affirmera également que la taille totale du dossier est de 0 octets.

Cela peut sembler logique car il n'y a rien dans le fichier. Mais ces fichiers ne devraient-ils pas prendre au moins quelques octets dans le périphérique de stockage?

Après tout, nous l'économisons quelque part et nous l'avons nommé quelque chose. Le nom du fichier et éventuellement, certains autres en-têtes ne devraient-ils pas faire un peu de place?


1 commentaires

Oui, cela prend place. Les chiffres rapportés par le système d'exploitation sont arrondis.


4 Réponses :


7
votes

Non, ils occupent toujours quelques octets sur le système de fichiers. Sinon, je voudrais mettre en place un système de fichiers magique qui stocké tout encodé dans les noms de fichiers de fichiers vides.

Cela revient en fait à une question de définition. Soit la taille " d'un fichier " fait référence à la taille du contenu du fichier ou se réfère à la "différence" qu'elle fait en termes d'octets libres sur le Système de fichiers sous-jacent (c'est-à-dire Taille du contenu (arrondi à la taille de bloc-ou-cluster la plus proche) + octets utilisés pour c'est Inode ).


2 commentaires

Donc, fondamentalement, le système d'exploitation cache toutes ces informations loin de nous?


Eh bien, cela dépend de la façon dont vous le voyez. Si vous avez un graisse ou similaire, il peut s'agir d'une question de définition, que ce soit ou non Nom de fichier, chemin et ainsi de suite, fait partie du fichier lui-même.



2
votes

Ces détails sont stockés dans ce que l'on appelle le tableau Allocation de fichiers (Parler dans le contexte de la graisse Windows) traditionnellement. Ils sont créés lorsque nous formatons le disque dur. Certains espaces prédéfinis sont alloués pour cela. Je ne pense pas que la taille de cela change.

Par exemple, vous formatez un disque dur de 100 Go, seul 90+ Go est disponible pour que vous puissiez utiliser. L'autre espace est utilisé par le système de fichiers pour gérer / mémoriser chaque fichier / dossier enregistré sur le disque dur et où il est enregistré.


0 commentaires

2
votes

Le fait qu'ils soient présents sur le disque signifie qu'un enregistrement a été créé pour eux, ce qui nécessite bien sûr une certaine quantité de mémoire. Les 0 octets correspondent simplement à la taille logique du fichier arrondi sur la granularité affichée dans l'interface utilisateur, mais même il contient probablement un en-tête de fichier qui dépendra du format de fichier.


0 commentaires

2
votes

La réponse à cette question est dépendante du système de fichiers.

Par exemple, sur NTFS, un fichier vide prend une grappe et un cluster a une taille qui dépend de votre taille du disque dur.

ici Vous pouvez lire une taille de grappe courante pour les systèmes de fichiers de Windows.


0 commentaires