web-dev-qa-db-fra.com

Windows a-t-il des numéros d'inode comme Linux?

Windows a-t-il des numéros d'inode comme Linux? Comment Windows gère-t-il en interne les fichiers?

45
Gautam Bhalla

La terminologie utilisée est un peu différente de ce que vous trouveriez dans le monde Unix, cependant en termes d'avoir un entier qui identifie de manière unique un fichier, NTFS et certaines API Windows exposent le concept des "ID de fichier" qui est similaire.

Vous pouvez interroger l'ID de fichier d'un descripteur ouvert via GetFileInformationByHandle . Voir nFileIndexHigh, nFileIndexLow; il s'agit respectivement des parties haute et basse de l'ID de fichier qui est de 64 bits.

NtCreateFile peut également ouvrir un fichier par son ID. Voir le FILE_OPEN_BY_FILE_ID drapeau. Vous avez besoin d'une poignée de volume pour ouvrir par ID de fichier.

37
asveikau

Oui. NTFS utilise un système d'indexation B-Tree. Chaque fichier dans le MFT a un numéro d'index de fichier 64 bits. Ce numéro, appelé ID de fichier, identifie le fichier UNIQUEMENT DANS SON VOLUME. C'est-à-dire que deux fichiers sur deux volumes distincts sur le même PC peuvent avoir le même ID de fichier. Consultez cet article MSDN pour plus de détails.

https://msdn.Microsoft.com/en-us/library/windows/desktop/aa363788 (v = vs.85) .aspx

concernant votre deuxième question, "comment Windows gère-t-il les fichiers en interne", consultez cet article technet:

https://technet.Microsoft.com/en-us/library/cc781134 (v = ws.10) .aspx

9
Andrew Howlett

Oui. Généralement appelé fileID. Essayez ceci dans un shell de commande Win8:

fsutil file queryfileid  <filename>
6
Buai

Cette question concerne davantage les systèmes de fichiers qu'un système d'exploitation particulier, je crois. Chaque système de fichiers gère les fichiers différemment (et chaque système d'exploitation peut prendre en charge plusieurs systèmes de fichiers).

http://pcnineoneone.com/howto/filesystems1/ a une assez bonne écriture sur FAT et NTFS, qui sont deux systèmes de fichiers populaires avec Windows.

5
Rontologist

Il y a deux choses ici. Le terme INode, et une implémentation de système de fichiers qui utilise la terminologie INode ou quelque chose comme INode à sa place.

Tous les systèmes de fichiers Windows (FAT *, NTFS) que je connais, utilisent des structures de type Inode dans la mise en œuvre réelle.

Pour simplifier encore la réponse

(Considérez INode comme un bloc de métadonnées sur un fichier.)

INode comme terme: Aucun système de fichiers Windows ne l'a.

INode en tant que concept: Windows aura d'autres structures, similaires en termes de propriété et d'utilisation, mais utilisées avec un nom différent

5
Ajeet Ganga