файловая система NTFS
ТУЗ
Имя метафайла Описание
$Quota Файл, в котором записаны права пользователей на использование
дискового пространства (этот файл начал использоваться лишь
в Windows 2000 с системой NTFS 5.0)
$Upcase Файл с таблицей соответствия строчных и прописных букв в именах файлов.
В NTFS имена файлов записываются в кодировке Unicode (всего доступно
65 тысяч различных символов, поэтому искать сточные и прописные
эквиваленты символов — нетривиальная задача)
Итак, все файлы тома представлены в таблице MFT. За исключением собственно
данных, в этой структуре хранится вся информация о файлах: имя файла, размер,
положение на диске отдельных фрагментов и т. д. Если для информации не хвата-
ет одной записи MFT, то используются несколько записей, причем не обязательно
последовательных. Если файл имеет не очень большой размер, тогда в ход идет
довольно удачное решение: данные файла хранятся прямо в соответствующей за-
писи таблицы MFT в оставшемся от служебных данных месте. Таким образом,
файлы, занимающие не более сотни байтов, обычно не имеют своего «физическо-
го» воплощения в основной файловой области — все данные таких файлов хра-
нятся прямо в таблице MFT.
Файл на томе в системе NTFS идентифицируется так называемой файловой ссыл-
кой (file reference), которая представляется как 64-разрядное число. Файловая ссыл-
ка состоит из номера файла, который соответствует позиции его файловой записи
в таблице MFT, и номера последовательности. Последний увеличивается всякий
раз, когда данная позиция в MFT используется повторно, что позволяет файловой
системе NTFS выполнять внутренние проверки целостности.
Каждый файл на диске в системе NTFS представлен с помощью потоков данных
(streams)
1
, то есть у файла нет «просто данных», а есть «потоки данных». Чтобы
правильнее понять эту сущность (поток данных), достаточно знать, что один из
потоков имеет привычный нам смысл — это собственно данные файла. Кстати,
большинство атрибутов файла (за исключением основных) — это тоже потоки дан-
ных. Таким образом, получается, что основой файла является номер записи в таб-
лице MFT, а все остальное, включая его потоки данных, не обязательно. Данный
подход довольно удобен. Так, файлу можно назначить еще один поток данных, за-
писав в него любые данные, например информацию об авторе и содержании фай-
ла, как это сделано в Windows 2000 (эта информация представлена на одной из
вкладок диалогового окна свойств файла). Здесь имеется определенная аналогия
с
Расширенными атрибутами в HPFS. Интересно, что эти дополнительные потоки
не видны стандартными средствами для работы с файлами операционной систе-
мы, наблюдаемый размер файла — это лишь ^размер потока основных (традицион-
ных) данных. Можно, к примеру, удалить файл нулевой длины, и при этом освобо-
ИТся несколько мегабайтов свободного места — просто потому, что какая-нибудь
итрая» программа или технология назначила ему поток дополнительных (аль-
е
Рнативных) данных такого большого размера. Однако на самом деле опасаться
' н "
утать с потоками выполнения (threads).