Windows XP PRO

       

Файлы и потоки


Итак, у системы есть файлы - и ничего кромефайлов. Что включает в себя это понятие наNTFS?

  • Прежде всего, обязательный элемент - запись в MFT, ведь, как было сказано ранее, все файлы диска упоминаются в MFT. В этом месте хранится вся информация о файле, за исключением собственно данных. Имя файла, размер, положение на диске отдельных фрагментов, и т.д. Если для информации не хватает одной записи MFT, то используются несколько, причем не обязательно подряд.
  • Опциональный элемент - потоки данных файла. Может показаться странным определение "опциональный", но, тем не менее, ничего странного тут нет. Во-первых, файл может не иметь данных - в таком случае на него не расходуется свободное место самого диска. Во-вторых, файл может иметь не очень большой размер. Тогда идет в ход довольно удачное решение: данные файла хранятся прямо в MFT, в оставшемся от основных данных месте в пределах одной записи MFT. Файлы, занимающие сотни байт, обычно не имеют своего "физического" воплощения в основной файловой области - все данные такого файла хранятся в одном месте - в MFT.

Довольно интересно обстоит дело и сданными файла. Каждый файл на NTFS, в общем-то,имеет несколько абстрактное строение - унего нет как таковых данных, а есть потоки(streams). Один из потоков и носит привычный намсмысл - данные файла. Но большинствоатрибутов файла - тоже потоки! Таким образом,получается, что базовая сущность у файлатолько одна - номер в MFT, а всё остальноеопционально. Данная абстракция можетиспользоваться для создания довольноудобных вещей - например, файлу можно "прилепить"еще один поток, записав в него любые данные -например, информацию об авторе и содержаниифайла, как это сделано в Windows 2000 (самаяправая закладка в свойствах файла,просматриваемых из проводника). Интересно,что эти дополнительные потоки не видныстандартными средствами: наблюдаемыйразмер файла - это лишь размер основногопотока, который содержит традиционныеданные. Можно, к примеру, иметь файл нулевойдлинны, при стирании которого освободится 1Гбайт свободного места - просто потому, чтокакая-нибудь хитрая программа илитехнология прилепила в нему дополнительныйпоток (альтернативные данные)гигабайтового размера. Но на самом деле втекущий момент потоки практически неиспользуются, так что опасаться подобныхситуаций не следует, хотя гипотетически онивозможны. Просто имейте в виду, что файл наNTFS - это более глубокое и глобальное понятие,чем можно себе вообразить простопросматривая каталоги диска. Ну инапоследок: имя файла может содержать любыесимволы, включая полый набор национальныхалфавитов, так как данные представлены вUnicode - 16-битном представлении, которое дает65535 разных символов. Максимальная длинаимени файла - 255 символов.



Содержание раздела