web-dev-qa-db-fra.com

Les métadonnées n'occupent-elles aucune taille?

Je mets 4096 caractères dans un fichier texte et les enregistre.Étant donné que chaque caractère est composé de 1 octet, la taille du fichier texte doit être de 4 Ko.Comme vous le voyez en bas c'est OK:

enter image description here

Je connecte ma mémoire flash à mon ordinateur. l'espace libre sur la mémoire flash est égal à 1,717,518,336 octets :

enter image description here

J'ai créé une copie du fichier dans ma mémoire flash. Et encore une fois, jetez un coup d'œil à l'espace libre. il a 1,717,514,240 octets espace disponible:

enter image description here

Voyons quelle est la différence:

1.717.518.336 - 1.717.514.240 = 4096 octets


Ma question:

Q1:

Comme vous le voyez dans la dernière image ci-dessus, le seul espace occupé par le fichier sur le flash est l'espace pour son contenu [caractères]. Alors où est le fichier de métadonnées?

Je veux dire, quand je déplace le fichier sur un autre ordinateur, comment comprend-il le nom du fichier, le propriétaire du fichier, la date de création et de modification et ...?

N'occupe-t-il aucune taille? !!

Q2:

Puis-je voir le fichier de métadonnées dans la mémoire flash?

enter image description here

Appréciez votre temps et votre considération.

51
TheGoodUser

Oui, les métadonnées occupent de l'espace. Sur NTFS, il occupe 1024 octets, pour être spécifique. Toutefois, les informations ne sont pas stockées dans le fichier, mais dans la table de fichiers maîtres MFT. Plus précisément dans l'enregistrement MFT n ° 4 $AttrDef.

Voir cet article de Technet pour plus de détails: la table 3.5 contient tous les enregistrements MFT définis.

Lorsqu'un volume est formaté avec NTFS, un fichier MFT (Master File Table) et d'autres métadonnées sont créés. Les métadonnées sont les fichiers utilisés par NTFS pour implémenter la structure du système de fichiers. NTFS réserve les 16 premiers enregistrements de la MFT pour les fichiers de métadonnées.

NTFS crée un enregistrement de fichier pour chaque fichier et un enregistrement de répertoire pour chaque répertoire créé sur un volume NTFS. La MFT comprend un enregistrement de fichier distinct pour la MFT elle-même. Ces enregistrements de fichiers et de répertoires sont stockés sur le MFT. Les attributs du fichier sont écrits dans l'espace alloué dans la MFT. Outre les attributs de fichier, chaque enregistrement de fichier contient des informations sur la position de l'enregistrement de fichier dans la MFT.

Notez que d'autres systèmes de fichiers peuvent traiter les métadonnées de manière différente.

EDIT: Il a été souligné dans la section commentaires que cette réponse manque le point parce que l'OP a demandé des métadonnées sur les systèmes de fichiers FAT32, pas NTFS. Si je savais comment faire, je supprimerais l'attribut "réponse correcte". Par conséquent, je fournis des informations supplémentaires qui répondent à la question concernant FAT32.

FAT32 enregistre des métadonnées simples, telles que la visibilité ou l'heure de modification de chaque fichier et dossier, dans une entrée du dossier parent du fichier ou du dossier, en créant une arborescence à partir du dossier racine du système de fichiers. Comme indiqué en ce qui concerne NTFS, ce n'est pas un fichier, mais enregistré dans la structure de données du dossier. L'entrée avait à l'origine une taille de 32 octets et contenait les attributs suivants:

Name (8.3) xxxxxxxx.yyy. (88 bits)

Attribute byte (8 bits of information, described later in this section).

One reserved byte.

Create time (24 bits).

Create date (16 bits).

Last access date (16 bits).

Two reserved bytes.

Last modified time (16 bits).

Last modified date (16 bits).

Starting cluster number in the file allocation table (16 bits).

File size (32 bits).

La liste provient de cet article de Microsoft Technet et concerne FAT16. Étant donné que la taille de cluster de FAT32 peut être de 32 bits et que le nom des fichiers peut être plus long que 8.3, le tableau n'est pas totalement exact. Pour accueillir des noms de fichiers longs et des disques plus grands, FAT32 modifie un comportement pouvant être lu dans Wikipedia ici mais l’idée de base est valable.

50
bjanssen

N'occupe-t-il aucune taille? !!

Oui, mais c'est une petite entrée dans un grand bloc pré-alloué. Ce bloc est compté dans la partie "utilisée" de votre disque. L'ajout d'une entrée à l'intérieur de ce bloc ne nécessite pas l'extension du bloc.

En fonction du système de fichiers, le bloc sera éventuellement rempli et étendu après l'ajout de nombreux noms de fichiers.

Puis-je voir le fichier de métadonnées dans la mémoire flash?

Pas facilement

Comme le commentaient Ruslan et Blorgbeard. Vous pouvez installer un visualiseur hexadécimal tel que HxD qui vous permettra de visualiser (et de modifier - soyez très prudent) les données brutes du système de fichiers. Mais vous devrez interpréter vous-même quels octets appartiennent à quelles structures de système de fichiers. Pour cela, vous aurez besoin d’une bonne documentation sur le système de fichiers spécifique utilisé sur le disque flash. FAT32 sera probablement plus simple à comprendre que l’une des nombreuses variantes de NTFS. Voir Comprendre les systèmes de fichiers FAT32 par exemple.

26
RedGrittyBrick

Les métadonnées ne sont pas stockées (ni signalées par les outils de gestion de fichiers habituels) sous forme de fichiers, elles sont stockées sur les données du système de fichiers sur disque.

Selon la nature/la version du système de fichiers, chaque entrée prend une certaine quantité d’espace disque pour représenter les informations de métadonnées.

En outre, à côté de l'espace alloué dans la table de fichiers principale, certains systèmes de fichiers conservent également un journal des modifications de fichiers (prenant de l'espace supplémentaire), et certains systèmes de fichiers peuvent même être étendus avec des champs supplémentaires contenant des métadonnées à usage spécifique.

Donc, techniquement, les métadonnées occupent de l’espace disque, mais la plupart des utilitaires de gestion de fichiers n’en tiennent pas compte car l’API du système appelant interroge le système de fichiers pour espace de fichier et non pour métadonnées espace.

Et cette abstraction n'est que la partie visible de l'iceberg, car le système de fichiers lui-même fonctionne sur une abstraction de l'espace disque physique sous-jacent, fourni par les routines de disque de bas niveau. Ainsi, seule la logique interne du disque saura combien de positions de mémoire réelles sont disponibles pour les niveaux supérieurs. et combien sont marqués comme non fiables, réservés ou utilisés pour la somme de contrôle.

7
Dice9

Les métadonnées dépendent du système de fichiers. Les systèmes de fichiers les plus élémentaires généralement utilisés sur des supports échangeables sont basés sur un système de fichiers DOS (FAT). DOS n'a pas d'utilisateurs, et les autorisations. Ou, plus correctement, certaines de ces informations sont contenues dans le huitième bit de données du nom de fichier. La seule ressource supplémentaire utilisée dans un DOS de base FS consiste à comptabiliser les blocs du fichier ou le répertoire dans lequel il se trouve - et ce bloc est probablement déjà validé pour le traitement de "." . IOW, ajouter un fichier vide n’ajouterait pas un autre espace de stockage, mais changerait certains bits existants consommés et alloués.

Lorsque vous utilisez des systèmes de fichiers plus avancés, avec journalisation et utilisateurs, vous obtenez des métadonnées, des entrées de journal et éventuellement une chaîne d'investigation pour récupérer les versions de fichier précédentes, etc. Ensuite, un petit fichier peut exploser dans la mémoire utilisée.

Donc, vérifiez le type FS. S'il s'agit de FAT, aucun utilisateur ne sera probablement enregistré dans les métadonnées du support. Par conséquent ... pas d'espace utilisé. :)

Un bon exemple de FAT FS est une implémentation open source - et vous pouvez voir que la liste des opérations disponibles ne comprend pas "get/set user" et "vérifier l'accès par l'utilisateur". Pas d'identité = pas de stockage de cette identité.

3
JezC

Comme vous le voyez dans la dernière image ci-dessus, le seul espace occupé par le fichier sur le flash est l'espace pour son contenu [caractères]. Alors où est le fichier de métadonnées?

Le "fichier de métadonnées" est le répertoire qui contient le fichier. C'est en gros ce qu'est un répertoire - une collection de métadonnées décrivant le contenu du répertoire.

Je veux dire, quand je déplace le fichier sur un autre ordinateur, comment comprend-il le nom du fichier, le propriétaire du fichier, la date de création et de modification et ...?

N'occupe-t-il aucune taille? !!

Oui, dans le répertoire. Dans la plupart des systèmes de fichiers, un même fichier peut avoir deux noms différents s'il est lié à deux répertoires différents.

Puis-je voir le fichier de métadonnées dans la mémoire flash?

Si votre système de fichiers le supporte, vous pouvez le voir en regardant la taille du répertoire.

2
David Schwartz

Où sont conservées les métadonnées?

Lorsque nous parlons de métadonnées, il existe deux types de métadonnées.

Le premier type comprend la date de création, la date de dernière modification, la date du dernier accès. Selon le système de fichiers (NTFS/FAT/Ext3, etc.), différentes "métadonnées" seront disponibles, par exemple le propriétaire de Windows et les autorisations sur NTFS.

Le premier type s’applique à tous les fichiers, par exemple. le fichier .txt dans votre exemple.

Tous les systèmes de fichiers pré-allouent des espaces pour contenir ces métadonnées dans la table de fichiers principale (MFT pour NTFS, ainsi que d'autres noms pour d'autres systèmes de fichiers), qui n'est pas directement accessible aux utilisateurs. Etant donné que les MFT ne font pas partie de la capacité du lecteur, aucun espace de stockage "supplémentaire" n'est requis.

Le deuxième type de "métadonnées" est défini par le type de fichier ou l'application. Par exemple, les documents Office conservent "Auteur", "Objet" et d'autres métadonnées. Les images JPEG conservent un ensemble de données EXIF, notamment "date prise de la photo", "modèle d'appareil photo", "vitesse d'obturation"; tandis que le son MP3 contient "album", "piste #", "bitrate" ...

Le second type occupe plus de place, car ces "métadonnées" font partie du fichier.


Taille différente dans un lecteur différent

Lorsque votre fichier texte est sur C:\, il prend 4K. Il devient 1K lorsque vous le mettez sur votre clé USB H:\. Cela est dû au fait que la "taille de bloc" est différente pour les différentes partitions.

Les fichiers sont des espaces alloués en bloc. Par conséquent, sur un système de fichiers de taille de bloc 4K, 4K sont alloués à 1 octet, tandis que 8K sont affectés à 4 097 octets (4K + 1 octet).

Apparemment, votre C: est formaté avec une taille de bloc de 4 Ko tandis que H: est formaté avec une taille de bloc de 1 Ko, ce qui entraîne une différence.

2
Kenneth L