11 votes

Confusion sur les métadonnées | Fourches nommées | Attributs étendus | Fourchettes de ressources -- HFS+

Je pense qu'il y a une certaine confusion générale sur la relation entre ces quatre éléments dispersés sur le web. Je voulais mettre les choses au clair.

  1. Sont bifurcations nommées la même chose que attributs étendus ? Si non, quels sont les attributs étendus ?
  2. Est-ce que le fourchette de ressources toujours implémenté comme une fourche ou comme un attribut étendu ? Si elle est mise en œuvre d'une autre manière, alors comment ?
  3. Le site métadonnées stocké avec un fichier (créateur, date de modification...) Y a-t-il une relation ou un chevauchement terminologique entre les trois autres mentionnés ? Par exemple, est-ce que attributs étendus juste extra paires de métadonnées (clé + valeur) stocké sur un fichier.

Toute réponse permettant de clarifier l'interdépendance de ces quatre éléments, en particulier en ce qui concerne la troisième question, serait grandement appréciée et contribuerait à régler les différends que je constate entre les différentes ressources.

0 votes

Pour en savoir plus sur HFS Plus : Guide d'utilisation et référence de fileXray (PDF, 1,8 Mo, 173 pages) est très utile. Je suis un utilisateur de fichierXray . Aussi : Note technique TN1150 : Format de volume HFS Plus est un héritage, retiré par Apple, mais toujours utile à de nombreuses fins.

0 votes

J'avais pensé que les attributs étendus étaient implémentés au moyen de fourches nommées sur HFS+ mais que sur APFS les fourches nommées sont implémentées au moyen d'attributs étendus. Mais la chronologie rend cela peu probable : Les fourches nommées ont été introduites avec HFS+ en 1998 sur Mac OS 8.1 et dépréciées en 2013 avec Mavericks. APFS a été introduit en 2017 avec High Sierra. Les attributs étendus ont été introduits avec Mohave en 2018.

6voto

GregW Points 66

La confusion vient du fait que la relation entre ces concepts est complexe et a évolué au fil du temps. Dans les systèmes actuels, la différence entre une fourche nommée et un attribut étendu est largement théorique.

Pour un attribut étendu, les données réelles sont stockées dans l'enregistrement de données d'attribut.

Pour une fourche, ce qui est stocké est la liste des blocs d'allocation de disque qui contiennent les données. Un fork de ressources reste un fork.

Les métadonnées de base du système de fichiers sont stockées dans des éléments dédiés de l'enregistrement du système de fichiers lui-même, indépendamment des attributs et des références de fourchettes nommées.

1 votes

Mais un attribut étendu est-il réellement stocké comme sa propre fourche, ou existe-t-il une fourche pour les attributs étendus ? Comment cela est-il lié dans la version la plus récente d'OSX ?

1 votes

Je ne comprends pas, quand vous dites attribut, vous voulez dire "attribut étendu". Si oui, où est conservé l'enregistrement de l'attribut. Est-il stocké comme une partie de la structure du système de fichiers HFS+ ou est-il stocké dans une sorte de base de données ? Veuillez également répondre au premier commentaire lorsque vous le pourrez.

2 votes

Désolé. Je ne suis pas souvent ici et je n'ai pas vu vos questions de suivi jusqu'à ce que je vienne ici pour chercher autre chose. Un attribut étendu est une fourche nommée. J'ai utilisé attribut comme raccourci pour "attribut étendu". L'attribut dossiers sont conservés dans une partie privée du système de fichiers appelée l'arbre des attributs. On pourrait le considérer comme une forme de base de données. Le site données pour chaque attribut peut ou non se trouver dans cet arbre en fonction de sa taille.

3voto

Tim Points 51

Je ne suis pas un expert en la matière, mais j'ai lu un peu pour essayer de comprendre ce qui se passe.

Je dirais "La confusion vient du fait que :

  • la relation entre ces concepts est complexe et
  • a changé au fil du temps et
  • Apple a implémenté à la fois les API au niveau du programme et des outils comme ls ou cp de manière à cacher de nombreuses différences entre les concepts."

AIUI, le fichier catalogue HFS+ contient des enregistrements de fichiers catalogue (entre autres choses). L'enregistrement du fichier de catalogue contient les informations habituelles sur le fichier, telles que la date de création, la date d'accès, etc. L'enregistrement du fichier de catalogue contient également deux structures qui donnent des informations sur l'emplacement et la taille de la fourche de données et de la fourche de ressources.

AIUI, HFS+ possède également (copié de Wikipedia HFS+) un "fichier d'attributs [qui] est un nouveau B-tree dans HFS Plus qui n'a pas de structure correspondante dans HFS. Le fichier d'attributs peut stocker trois types différents d'enregistrements de 4 Ko : Les enregistrements d'attributs de données en ligne, les enregistrements d'attributs de données en fourche et les enregistrements d'attributs d'extension. Les enregistrements d'attributs de données en ligne stockent de petits attributs qui peuvent tenir dans l'enregistrement lui-même. Les enregistrements Fork Data Attribute contiennent des références à un maximum de huit éléments qui peuvent contenir des attributs plus importants. Les attributs d'extension sont utilisés pour étendre un enregistrement d'attribut de données en fourche lorsque ses huit enregistrements d'extension sont déjà utilisés."

AIUI, les données stockées dans (ou référencées à partir de) le fichier d'attributs (qu'il s'agisse de données en ligne, de données de fourche ou d'attributs d'extension) sont appelées attributs étendus.

Ce sont les structures de données, alors comment sont-elles utilisées ?

AIUI, les premières versions du système d'exploitation (probablement des versions antérieures à 10.4 Tiger, qui John Siracusa semble indiquer qu'il y a eu des changements majeurs dans ce domaine), a pointé vers la fourche de données et la fourche de ressources du fichier catalogue.

AIUI, une fois que nous sommes arrivés à 10.4 Tiger, le fichier d'attributs devient largement utilisé pour stocker toutes sortes de données.

Il est possible (mais je ne le sais pas) qu'à partir de la version 10.4, les fourchettes de ressources soient indiquées à partir du fichier d'attributs. En réponse à votre première question, je dirais que les bifurcations nommées sont des attributs étendus, à moins qu'il ne s'agisse d'une bifurcation de ressource, et que la bifurcation de ressource soit référencée à partir du fichier de catalogue.

Le problème de savoir comment les choses sont implémentées est que pour préserver la compatibilité ascendante, et probablement particulièrement pour supporter l'accès aux systèmes de fichiers écrits par une version de Mac OS à partir d'une autre version, différentes choses et des mélanges de choses doivent être supportés de manière transparente.

Les outils normaux de la ligne de commande du terminal ne nous permettent pas de savoir où se trouvent réellement les données.

Ainsi, l'accès à rsrc pourrait suggérer que l'on accède à la fourchette de ressources du fichier catalogue.

$ ls -l Icon^M/rsrc
-rwxr-xr-x  1 root  admin  486 23 Jul  2004 Icon?/rsrc

Cependant, nous savons que, même si la syntaxe ressemble à un fichier sous la rubrique Icon^M est accédé, ce n'est pas vraiment le cas, parce que

$ ls -lR Icon^M
-rwxr-xr-x@ 1 root  admin  0 23 Jul  2004 Icon?

Apple a donc mis en place un cas spécial pour Resource Forks.

Si à la place nous faisons

$ ls -l@
-rwxr-xr-x@ 1 root  admin   0 23 Jul  2004 Icon?
    com.apple.FinderInfo    32 
    com.apple.ResourceFork  486 

Cela suggère que nous accédons au fichier des attributs. Mais là encore, l'implémentation de ls peut avoir un cas particulier pour Resource Forks.

John Siracusa fait remarquer ici que les listes ACL sont stockées en tant qu'"Attributs étendus", mais qu'elles sont spécialement masquées pour ne pas être affichées dans la base de données de l'ACL. xattr . Donc, une fois de plus, il y a un traitement spécial des cas dans l'implémentation de xattr.

(Notez que ce traitement des cas particuliers peut se trouver dans le code de l'outil, ou dans le code des API sous-jacentes auxquelles les outils ont accès).

GregW, si vous voyez ceci, ce serait bien d'avoir une opinion plus experte pour savoir si je suis sur la bonne voie ou si je suis juste désespérément confus.

0 votes

Il y a également une discussion ici mais je ne pense pas que "jonsview" soit très utile.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X