Есть ли в Windows номера Inode, такие как Linux? Как Windows внутренне управляет файлами?
У Windows есть номера Inode, такие как Linux?
Ответ 1
Используемая терминология немного отличается от того, что вы найдете в мире Unix, однако с точки зрения наличия целого числа, которое однозначно идентифицирует файл, NTFS и некоторые Windows API раскрывают концепцию "идентификаторов файлов", которая аналогична.
Вы можете запросить идентификатор файла открытого дескриптора через GetFileInformationByHandle
. См. nFileIndexHigh
, nFileIndexLow
; это высокая и низкая части соответственно идентификатора файла, который составляет 64 бита.
NtCreateFile
также может открыть файл по его идентификатору. См. Флаг FILE_OPEN_BY_FILE_ID
. Для открытия по идентификатору файла требуется дескриптор тома.
Ответ 2
Этот вопрос больше связан с файловыми системами, чем с конкретной ОС. Каждая файловая система обрабатывает файлы по-разному (и каждая ОС может поддерживать несколько файловых систем).
http://pcnineoneone.com/howto/filesystems1/ имеет довольно хорошую запись в FAT и NTFS, которые являются двумя популярными файловыми системами с окнами.
Ответ 3
Да. NTFS использует систему индексирования B-Tree. Каждый файл в MFT имеет 64-битный индекс файла. Этот номер, называемый идентификатором файла, уникально идентифицирует файл ТОЛЬКО В СВОЕМ ОБЪЕМЕ. Например, два файла на двух отдельных томах на одном ПК могут иметь одинаковый идентификатор файла. Подробнее см. В этой статье MSDN.
https://msdn.microsoft.com/en-us/library/windows/desktop/aa363788(v=vs.85).aspx
в отношении вашего второго вопроса, "как Windows внутренне управляет файлами", см. эту статью о технике:
https://technet.microsoft.com/en-us/library/cc781134(v=ws.10).aspx
Ответ 4
Здесь есть две вещи. Термин INode и реализация файловой системы, которая использует либо INode-терминологию, либо что-то вроде INode на своем месте.
Все файловые системы Windows (FAT *, NTFS), о которых я знаю, используют Inode-подобные структуры в реальной реализации.
Чтобы еще больше упростить ответ
(Подумайте об INode как блоке метаданных о файле.)
INode как термин: файловая система Windows не имеет этого.
INode как концепция: Windows будет иметь некоторые другие структуры, похожие по свойству и использованию, но используемые с другим именем
Ответ 5
Да, да. Обычно называется fileID. Попробуйте это в командной оболочке Win8: fsutil file queryfileid
Ответ 6
Inodes - концепция POSIX. В современных версиях Windows используется NTFS. Подробное описание NTFS: Внутри NTFS
Ответ 7
НЕТ, нет эквивалента inode в Windows NTFS.Inode больше связан с файловыми системами ** IX.
Но да, NTFS хранит уникальный 8-байтовый ссылочный номер для каждого файла.
приветствия .Comment, если вы хотите узнать больше деталей