Qu'est-ce qu'un point de réparation et pourquoi est-il nommé ainsi?

10
  • Qu'Est-ce que c'est?

    selon MSDN Docs , dans le système de fichiers NTFS, il existe un concept appelé "point d'analyse" et:

    Lorsque le système de fichiers ouvre un fichier avec un point d'analyse ...

    à partir de cette ligne, il apparaît qu'il ne reparse points'agit que de quelques métadonnées stockées dans un objet fichier NTFS.

    mais cette réponse populaire dit le contraire:

    Un point d'analyse est ce que Linux appelle un lien symbolique.

    quelle est la bonne réponse?


  • Pourquoi est-il nommé ainsi?

    une autre chose qui me laisse perplexe est la dénomination d'un tel concept, j'ai recherché sa documentation mais je ne vois rien concernant l'origine, quelqu'un a-t-il une idée de cela? Je suppose que le nom contient "parse" car il implique l'utilisation d'un filtre de système de fichiers pour analyser la structure de données, mais pourquoi est-il "RE-parse point", pas seulement "parse point" ?

Sajuuk
la source
"Regardez encore parce que vos données ne sont pas là où vous pensez qu'elles sont."
Mokubai

Réponses:

6

Un point d'analyse est ce que Linux appelle un lien symbolique.

C'est surtout, mais pas complètement correct. Les points de réparation ne sont pas nécessairement des liens; ils sont un "bloc de construction" sur lequel différents types de liens peuvent être implémentés.

Oui, ils peuvent être utilisés pour implémenter des liens symboliques - en effet, les jonctions NTFS traditionnelles et les liens symboliques Win10 "Unix-like" plus récents sont deux types différents de points d'analyse.

Cependant, ils peuvent être utilisés pour implémenter des fonctionnalités qui n'agissent pas du tout comme des liens symboliques. Par exemple, les «points de montage de volume» Windows (où vous attachez un lecteur à un dossier, plutôt qu'à une lettre de lecteur) sont également des points d'analyse. L' article de Wikipedia répertorie quelques types supplémentaires - par exemple, les fichiers dédupliqués ou les fichiers "hors ligne" qui déclenchent la récupération des sauvegardes sur bande.

Pourquoi est-il nommé ainsi?

Cela s'appelle un "point d'analyse" car il interrompt le processus d'analyse du chemin .

Lorsque vous avez un chemin comme C:\Documents and Settings\Application Data\Microsoft, vous pouvez imaginer qu'il soit analysé comme ceci:

  1. Recherchez le 1er composant C:- c'est une lettre de lecteur. Accédez au lecteur.
  2. Recherchez le 2e composant Documents and Settings- c'est un point d'analyse. Lisez les métadonnées du point d' analyse et recommencez l'analyse à partir de là. Vous vous retrouverez à C:\Users.
  3. Recherchez le 3ème composant Application Data- encore une fois un point d'analyse; lire ses métadonnées et redémarrer l'analyse du chemin à partir de là . Vous vous retrouverez à AppData\Roaming.
  4. Regardez...

Si vous avez Linux, vous pouvez voir une visualisation similaire en exécutant namei /a/long/path/to/something, surtout si le chemin contient des liens symboliques.

user1686
la source
Je me demande si vous voulez parler des liens symboliques utilisés par Linux WSL ( IO_REPARSE_TAG_LX_SYMLINK) lorsque vous faites référence à la plus récente Win10 « Unix » symlinks ?! Si vous voulez dire des liens symboliques NTFS, ils existaient depuis Windows Vista et un pilote de filtre existe pour moderniser la fonctionnalité exacte sur les anciennes versions du système d'exploitation.
0xC0000022L
2

De Microsoft: points de réparation

Un fichier ou un répertoire peut contenir un point d'analyse, qui est une collection de données définies par l'utilisateur. Le format de ces données est compris par l'application qui stocke les données et un filtre de système de fichiers que vous installez pour interpréter les données et traiter le fichier. Lorsqu'une application définit un point d'analyse, elle stocke ces données, plus une balise d'analyse, qui identifie de manière unique les données qu'elle stocke. Lorsque le système de fichiers ouvre un fichier avec un point d'analyse, il tente de trouver le filtre de système de fichiers associé au format de données identifié par la balise d'analyse. Si un filtre de système de fichiers est trouvé, le filtre traite le fichier comme indiqué par les données d'analyse. Si aucun filtre de système de fichiers n'est trouvé, l'opération d'ouverture de fichier échoue.

Ainsi, le fichier ou les données stockés sont analysés par le système de fichiers, notant qu'ils contiennent des données spéciales et doivent être analysés par un filtre de système de fichiers pour être correctement résolus. Comme il a besoin de deux actions distinctes d'analyse syntaxique pour ouvrir le fichier avec succès , il est probable que c'est ce qui donne naissance au nom « re point de Parse. »

Les données ne sont pas analysées une seule fois. Les données contenues dans la première Parse obtient re analysé par une extension d'application afin de résoudre le vrai sens des données.

Cela ne signifie pas qu'un point d'analyse n'est pas un lien symbolique. Il peut simplement s'agir d'un bloc de données indiquant "Rechercher dans ce fichier" lorsqu'il a été analysé à nouveau.

Mokubai
la source
@TwistyImpersonator C'est ce que j'essayais de dire dans mon paragraphe sous la citation. Si je peux mieux le formuler, je suis ouvert aux suggestions.
Mokubai