55 votes

Les métadonnées n'occupent-elles pas n'importe quelle taille ?

Je mets 4096 Puisque chaque caractère est un octet, la taille du fichier texte doit être de 4K octets :

enter image description here

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

enter image description here

J'ai créé une copie du fichier dans ma mémoire flash. Jetez à nouveau un coup d'œil à l'espace libre. 1,717,514,240 octets espace libre :

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 la mémoire flash est l'espace réservé à son contenu [caractères].

Je veux dire que lorsque je déplace le fichier vers un autre ordinateur, comment peut-il comprendre le nom du fichier, le propriétaire du fichier, la date de création et de modification et ... ?

N'occupe-t-il pas toutes les tailles ?!!

Q2 :

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

enter image description here

Je vous remercie de votre temps et de votre attention.

54voto

bjanssen Points 2361

Oui, les métadonnées occupent de l'espace. Sur NTFS, elles occupent 1024 octets, pour être précis. Cependant, les informations ne sont pas stockées dans le fichier, mais dans la table des 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 : le tableau 3.5 contient tous les enregistrements MFT définis.

Lorsqu'un volume est formaté avec NTFS, un fichier Master File Table (MFT) et d'autres métadonnées sont créés. Les métadonnées sont les fichiers que NTFS utilise pour mettre en œuvre la structure du système de fichiers. Le NTFS réserve les 16 premiers enregistrements de la MFT aux 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 la MFT. Les attributs du fichier sont écrits dans l'espace alloué de la MFT. Outre les attributs du 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 différemment les métadonnées et le font.

EDITAR: Il a été souligné dans la section des commentaires que cette réponse n'est pas pertinente car l'OP a demandé des métadonnées sur les systèmes de fichiers FAT32, et non NTFS. Si je savais comment faire, je supprimerais l'attribut "réponse correcte". C'est pourquoi je fournis des informations supplémentaires qui répondent à la question en ce qui concerne 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, créant ainsi une arborescence à partir du dossier racine du FS. Comme indiqué dans le cas de NTFS, il ne s'agit pas d'un fichier mais d'une donnée sauvegardée. à l'intérieur la structure des données du dossier. À l'origine, l'entrée avait 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 est tirée de cet article de Microsoft Technet et concerne la FAT16. Étant donné que la taille du 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 tout à fait exact. Pour s'adapter aux noms de fichiers longs et aux disques plus grands, FAT32 modifie certains comportements qui peuvent être consultés sur Wikipedia aquí mais l'idée de base reste la même.

27voto

RedGrittyBrick Points 78148

N'occupe-t-il pas toutes les tailles ?!!

Oui, mais il s'agit d'une petite entrée dans un grand bloc pré-alloué. Ce bloc est comptabilisé 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 d'une manière ou d'une autre après l'ajout d'un grand nombre de noms de fichiers.

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

Pas facilement

Comme l'ont fait remarquer Ruslan et Blorgbeard. Vous pouvez installer un visualiseur hexagonal tel que HxD qui vous permettra de visualiser (et d'éditer - 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 du 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 est probablement plus simple à comprendre que n'importe laquelle des nombreuses variantes de NTFS. Voir Comprendre les systèmes de fichiers FAT32 par exemple.

7voto

Dice9 Points 191

Les métadonnées ne sont pas stockées (ni rapportées par les outils de gestion de fichiers habituels) en tant que fichiers, elles sont stockées dans les données du système de fichiers sur le disque.

En fonction de la nature ou de la version du système de fichiers, chaque entrée occupera une certaine quantité d'espace disque pour représenter les métadonnées.

En outre, outre l'espace alloué à la table des fichiers principaux, certains systèmes de fichiers conservent également un journal des modifications apportées aux fichiers (ce qui prend 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.

Techniquement, les métadonnées occupent donc de l'espace disque, mais elles ne sont pas prises en compte par la plupart des utilitaires de gestion de fichiers qui utilisent l'API du système pour interroger le système de fichiers à la recherche de fichier l'espace, pas pour métadonnées l'espace.

Et cette abstraction n'est que la partie émergée de l'iceberg, puisque le système de fichiers lui-même fonctionne sur une abstraction de l'espace disque physique sous-jacent, fournie par des routines de disque de bas niveau, de sorte qu'en réalité, 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ées comme non fiables, réservées, ou utilisées pour la somme de contrôle.

3voto

JezC Points 560

Les métadonnées dépendent du système de fichiers. Le système de fichiers le plus basique généralement utilisé sur les supports échangeables est basé sur un système de fichiers DOS (FAT). DOS n'a pas d'utilisateurs, ni de permissions. Ou, plus exactement, certaines de ces informations sont contenues dans le 8e bit de données du nom de fichier. La seule surcharge de ressources utilisée dans un système de fichiers DOS de base est la prise en compte des blocs du fichier ou du répertoire dans lequel il se trouve - et ce bloc est probablement déjà engagé pour gérer le ".". En d'autres termes, l'ajout d'un fichier vide n'ajouterait pas d'espace de stockage supplémentaire, mais il permettrait de cambiar certains bits consommés et alloués existants.

Lorsque vous utilisez des systèmes de fichiers plus avancés, avec des journaux et des utilisateurs, vous obtenez des métadonnées, des entrées de journal et éventuellement une chaîne judiciaire pour récupérer les versions antérieures des fichiers, etc. Un petit fichier peut alors exploser dans l'espace de stockage utilisé.

Il convient donc de vérifier le type de FS. S'il s'agit d'une FAT, vous n'avez probablement pas d'utilisateur enregistré dans les métadonnées du support. D'où... 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 n'inclut pas "get/set user" et "check access by user". Pas d'identité = pas de stockage de cette identité.

3voto

Luca Rocchi Points 2665

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

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

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

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

Tous les systèmes de fichiers pré-attribuent des espaces pour contenir ces métadonnées dans la table des fichiers principaux (MFT pour NTFS, d'autres noms pour d'autres systèmes de fichiers), qui n'est pas directement accessible par les utilisateurs. La MFT n'étant pas comptabilisée dans la capacité du disque, aucun espace de stockage "supplémentaire" n'est nécessaire.

Le deuxième type de "métadonnées" est défini par le type de fichier ou l'application. Par exemple, les documents Office contiennent l'"auteur", le "sujet" et d'autres métadonnées ; les images JPEG contiennent un ensemble de données EXIF, notamment la "date de prise de vue", le "modèle d'appareil photo" et la "vitesse d'obturation" ; le son MP3 contient l'"album", le "numéro de piste", le "débit binaire"...

Le second type de fichier prend de l'espace supplémentaire, car ces "métadonnées" font partie du fichier.


Différentes tailles pour différents lecteurs

Lorsque votre fichier texte se trouve sur C:\ il occupe 4K. Il devient 1K lorsque vous le mettez sur votre clé USB. H:\ . Cela s'explique par le fait que la taille des blocs est différente d'une partition à l'autre.

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

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X