Реферат: Файловая система NTFS

Файловаясистема NTFS

Начнем собщих фактов. Раздел NTFS, теоретически, может быть почти какого угодноразмера. Предел, конечно, есть, но я даже не буду указывать его, так как его сзапасом хватит на последующие сто лет развития вычислительной техники — прилюбых темпах роста. Как обстоит с этим дело на практике? Почти так же. Максимальныйразмер раздела NTFS в данный момент ограничен лишь размерами жестких дисков.NT4, правда, будет испытывать проблемы при попытке установки на раздел, еслихоть какая-нибудь его часть отступает более чем на 8 Гб от физического началадиска, но эта проблема касается лишь загрузочного раздела.

Лирическоеотступление. Метод инсталляции NT4.0 на пустой диск довольно оригинален иможет навести на неправильные мысли о возможностях NTFS. Если вы укажетепрограмме установки, что желаете отформатировать диск в NTFS, максимальныйразмер, который она вам предложит, будет всего 4 Гб. Почему так мало, еслиразмер раздела NTFS на самом деле практически неограничен? Дело в том, чтоустановочная секция просто не знает этой файловой системы:) Программа установкиформатирует этот диск в обычный FAT, максимальный размер которого в NTсоставляет 4 Гбайт (с использованием не совсем стандартного огромного кластера64 Кбайта), и на этот FAT устанавливает NT. А вот уже в процессе первойзагрузки самой операционной системы (еще в установочной фазе) производитсябыстрое преобразование раздела в NTFS; так что пользователь ничего и незамечает, кроме странного «ограничения» на размер NTFS при установке.:)

 

Структурараздела — общий взгляд

Как и любаядругая система, NTFS делит все полезное место на кластеры — блоки данных,используемые единовременно. NTFS поддерживает почти любые размеры кластеров — от 512 байт до 64 Кбайт, неким стандартом же считается кластер размером 4Кбайт. Никаких аномалий кластерной структуры NTFS не имеет, поэтому на эту, вобщем-то, довольно банальную тему, сказать особо нечего.

Диск NTFSусловно делится на две части. Первые 12% диска отводятся под так называемую MFTзону — пространство, в которое растет метафайл MFT (об этом ниже). Записькаких-либо данных в эту область невозможна. MFT-зона всегда держится пустой — это делается для того, чтобы самый главный, служебный файл (MFT) нефрагментировался при своем росте. Остальные 88% диска представляют собойобычное пространство для хранения файлов.

/>

Свободноеместо диска, однако, включает в себя всё физически свободное место — незаполненные куски MFT-зоны туда тоже включаются. Механизм использованияMFT-зоны таков: когда файлы уже нельзя записывать в обычное пространство,MFT-зона просто сокращается (в текущих версиях операционных систем ровно в двараза), освобождая таким образом место для записи файлов. При освобождении местав обычной области MFT зона может снова расширится. При этом не исключенаситуация, когда в этой зоне остались и обычные файлы: никакой аномалии тут нет.Что ж, система старалась оставить её свободной, но ничего не получилось. Жизньпродолжается… Метафайл MFT все-таки может фрагментироваться, хоть это и былобы нежелательно.


MFT и егоструктура

Файловаясистема NTFS представляет собой выдающееся достижение структуризации: каждыйэлемент системы представляет собой файл — даже служебная информация. Самыйглавный файл на NTFS называется MFT, или Master File Table — общая таблицафайлов. Именно он размещается в MFT зоне и представляет собой централизованныйкаталог всех остальных файлов диска, и, как не парадоксально, себя самого. MFTподелен на записи фиксированного размера (обычно 1 Кбайт), и каждая записьсоответствует какому либо файлу (в общем смысле этого слова). Первые 16 файловносят служебный характер и недоступны операционной системе — они называютсяметафайлами, причем самый первый метафайл — сам MFT. Эти первые 16 элементовMFT — единственная часть диска, имеющая фиксированное положение. Интересно, чтовторая копия первых трех записей, для надежности — они очень важны — хранитсяровно посередине диска. Остальной MFT-файл может располагаться, как и любойдругой файл, в произвольных местах диска — восстановить его положение можно спомощью его самого, «зацепившись» за самую основу — за первый элементMFT.

 

Метафайлы

Первые 16файлов NTFS (метафайлы) носят служебный характер. Каждый из них отвечает закакой-либо аспект работы системы. Преимущество настолько модульного подходазаключается в поразительной гибкости — например, на FAT-е физическоеповреждение в самой области FAT фатально для функционирования всего диска, а NTFSможет сместить, даже фрагментировать по диску, все свои служебные области,обойдя любые неисправности поверхности — кроме первых 16 элементов MFT.

Метафайлынаходятся корневом каталоге NTFS диска — они начинаются с символа имени"$", хотя получить какую-либо информацию о них стандартнымисредствами сложно. Любопытно, что и для этих файлов указан вполне реальныйразмер — можно узнать, например, сколько операционная система тратит накаталогизацию всего вашего диска, посмотрев размер файла $MFT. В следующейтаблице приведены используемые в данный момент метафайлы и их назначение.

$MFT сам MFT $MFTmirr копия первых 16 записей MFT, размещенная посередине диска $LogFile файл поддержки журналирования (см. ниже) $Volume служебная информация — метка тома, версия файловой системы, т.д. $AttrDef список стандартных атрибутов файлов на томе $. корневой каталог $Bitmap карта свободного места тома $Boot загрузочный сектор (если раздел загрузочный) $Quota файл, в котором записаны права пользователей на использование дискового пространства (начал работать лишь в NT5) $Upcase файл — таблица соответствия заглавных и прописных букв в имен файлов на текущем томе. Нужен в основном потому, что в NTFS имена файлов записываются в Unicode, что составляет 65 тысяч различных символов, искать большие и малые эквиваленты которых очень нетривиально.

 

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

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

·          Преждевсего, обязательный элемент — запись в MFT, ведь, как было сказано ранее, всефайлы диска упоминаются в MFT. В этом месте хранится вся информация о файле, заисключением собственно данных. Имя файла, размер, положение на диске отдельныхфрагментов, и т.д. Если для информации не хватает одной записи MFT, то используютсянесколько, причем не обязательно подряд.

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

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

 

Каталоги

NTFS обеспечивает комбинацию эффективности,надежности и совместимости, отсутствующую в FAT или HPFS. Она разработана длябыстрого выполнения стандартных файловых операций типа чтения, записи и поиска,а также улучшенных операций типа восстановления файловой системы на оченьбольших жестких дисках.

NTFS также включает возможности безопасности,требуемые для файловых серверов и высококачественных персональных компьютеров вкорпоративной среде. NTFS поддерживает управление доступом к данным ипривилегии владельца, что является важным для целостности корпоративных данных.В то время как каталогам, разделяемым при помощи Windows NT Server, назначаютсяспецифические разрешения, файлам и каталогам NTFS могут назначаться разрешениявне зависимости, разделены они или нет. NTFS — единственная файловая система вWindows NT, которая позволяет назначить разрешения для отдельных файлов.

NTFS является простой, но очень мощной разработкой.Для этой перспективной файловой системы вся информация на томе NTFS являетсяфайлом или частью файла. Каждый распределенный на томе NTFS сектор принадлежитнекоторому файлу. Даже метаданные (metadata) файловой системы (информация,которая описывает непосредственно файловую систему) являются частью файла.

Эта основанная на атрибутах файловая системаподдерживает объектно — ориентированные приложения, обрабатывая все файлы какобъекты, которые имеют определяемые пользователем и системой атрибуты.


Главнаяфайловая таблица

Каждый файл на томе NTFS представлен записью вспециальном файле, называемом главной файловой таблицей (MFA — master filetable). NTFS резервирует первые 16 записей таблицы для специальной информации.Первая запись этой таблицы описывает непосредственно главную файловую таблицу;

за ней следует зеркальная запись (mirror record)MFT. Если первая запись MFT разрушена, то NTFS читает вторую запись дляотыскания зеркального файла MFT, первая запись которого идентична первой записиMFT. Местоположения сегментов данных MFT и зеркального файла MFT записаны всекторе начальной загрузки. Дубликат сектора начальной загрузки находится влогическом центре диска.

Третья запись MFT — файл регистрации (log file);используется для восстановления файлов. Файл регистрации подробно описан в настоящейглаве ниже. Семнадцатая и последующие записи главной файловой таблицыиспользуются собственно файлами и каталогами (также рассматриваются как файлыNTFS) на томе. На рис. 5.5 показана упрощенная структура MFT.

Главная файловая таблица отводит определенноеколичество пространства дтя каждой записи файла. Атрибуты файла записываются враспределенное пространство MFT. Небольшие файлы и каталоги (обычно до 1500байт или меньше), типа файла, показанного на рис. 5.6, могут полностьюсодержать. внутри записи главной файловой таблицы.

Подобный подход обеспечивает очень быстрый доступ кфайлам. Рассмотрим. например, файловую систему FAT, которая использует таблицуразмещения файлов, в которой перечисляются имена и адрес каждого файла.Элементы каталога FAT содержат индекс в таблице размещения файла. В случае еслинеобходимо просмотреть содержимое файла, FAT сначала читает таблицу размещенияфайлов и убеждается в существовании файла. Далее FAT восстанавливает файл, ищацепочку распределенных блоков, относящихся к этому файлу. В NTFS поиск файлапроизводится только для непосредственного его использования.

Стандартная информация Имя файла или каталога Дескриптор безопасности Данные или указатель

Записи каталога помещены внутри главной файловойтаблицы так же, как записи файла. Вместо данных каталоги содержат индекснуюинформацию. Небольшие записи каталогов находятся полностью внутри структурыMFT. Большие каталоги организованы в B-tree, имея записи с указателями навнешние кластеры, содержащие элементы каталога, которые не могли бытьзаписаны внутри структуры MFT.

 

Атрибутыфайла NTFS

NTFS просматривает каждый файл (или каталог) какнабор атрибутов файла. Такие элементы, как имя файла, информация зашиты и дажеданные — все это атрибуты файла. Каждый атрибут идентифицирован кодом типаатрибута и, необязательно, именем атрибута.

Если атрибуты файла могут находится внутри записифайла MFT, они называются резидентными (resident) атрибутами. HanpHMqi,информация типа имени файла и отметки времени всегда включается в запись файлаMFT. Если файл слишком большой, чтобы содержать все атрибуты в записи файлаMFT, часть атрибутов является нерезидентной (nonresident). Нерезидентныеатрибуты занимают один или несколько пробегов (run) дискового пространства вдругом месте тома (пробег дискового пространства — непрерывная линейная областьна диске).

Вообще, все атрибуты могут быть вызваны как потокбантов независимо от того, являются ли они резидентными или нерезидентными.

В табл. 5.1 представлен список всех атрибутов файла,в настоящее время определенных для NTFS. Этот список расширяем, т. е. другиеатрибуты файла в будущем могут быть определены в случае необходимости.

 

Таблица 5.1. Атрибуты файла NTFS

Тип атрибута Описание Standard Information (стандартная информация) Включает бюджет связи и так далее Attribute List (список атрибутов) Перечисляет все другие атрибуты (только в больших файлах) Filename (имя файла) Атрибут, повторяющийся для длинных и для коротких имен файлов Длинное имя файла может содержать до 255 символов Unicode Короткое имя — доступно для MS-DOS, восемь плюс три символа, без учета регистра Дополнительные имена, или жесткие связи (hard links), используются POSIX и могут быть также включены в качестве дополнительных атрибутов имени файла Security Descriptor (дескриптор безопасности) Фиксирует информацию о том, кто может обращаться к файлу, кто является его владельцем и так далее Data (данные) Содержит данные файла Index Root (корень индексов) Используется при работе с каталогами Index Allocation (индексное размещение) Используется при работе с каталогами Volume Information (информация тома) Используется только в системном файле тома и включает в частности версию и имя тома Bitmap (битовый массив) Предоставляет информацию об использовании записей в MFT или каталоге Extended Attribute Information (информация расширенного атрибута) Используется файловыми серверами, которые связаны с системами OS/2 Этот тип атрибута не используется Windows NT Extended Attributes (расширенные атрибуты) Используется файловыми серверами, которые связаны с системами OS/2 Этот тип атрибута не используется Windows NT

 

Длинные и короткие имена файлов

Подобно HPFS, NTFS поддерживает имена файла до 255символов. Имена файла NTFS используют набор символов Unicode с 16 битами; однаковопрос доступа из MS-DOS решен. NTFS автоматически генерирует поддерживаемоеMS-DOS имя (восемь плюс три символа) для каждого файла. Таким образом, файлыNTFS могут использоваться через сеть операционными системами MS-DOS и OS/2. Этоособенно важно для файловых серверов организации, которая используетперсональные компьютеры с двумя или всеми тремя этими операционными системами.

Создавая имена файла “восемь плюс три”, NTFS такжепозволяет приложениям MS-DOS и Windows 3-х работать с файлами, имеющими длинныеимена NTFS Кроме того, при сохранении файла приложениями MS-DOS или Windows 3.\на томе NTFS сохраняются и имя файла “восемь плюс три” и длинное имя NTFS.

Внимание! При сохранении файла приложениями MS-DOSили Windows З.х на томе NTFS, если приложение сохраняет временный файл, удаляетпервоначальный файл и переименовывает временный файл с первоначальным именем,длинное имя файла теряется. Любой уникальный набор разрешений файла такжетеряется. Разрешения передаются заново из родительского каталога.

Если длинное имя файла или каталога на томе NTFSсодержит пробелы, следует убедиться, что путь записан в кавычках. Этосправедливо при определении пути в Program Manager для значков приложенийНапример, предположим, что Word for Windows установлен в D WORD FOR WINDOWS.Командная строка Program Item Properties должна быть установлена в D WORD FORWINDOWSWINWORD ЕХЕ. При отсутствии кавычек будет отображено сообщение об ошибке“The path DAWord is invalid” (Путь D:\Word недопустим).

Ниже приведен пример легальной записи команднойстроки, содержащей пробелы:

move «с:\This month's reports\*.*»«с:\Last mont's reports'


Внимание! Необходимо внимательно подходить киспользованию групповых символов типа * и? вместе с командами del и copy. Привыполнении этих команд NTFS работает и с длинным и с коротким именем файла;таким образом могут быть удалены или скопированы лишние файлы.

Для копирования или перемещения файлов счувствительными к регистру длинными именами, самым надежным способом являетсявыбор файлов с использованием мыши в File Manager. Этот способ позволяетоднозначно определить файлы для выполнения операций над ними.

При работе с Windows NT 3.5 файлы, созданные илипереименованные в разделах FAT, могут иметь связанные длинные имена. Правилауправления длинными именами файла на томе NTFS также относятся к длинным именамфайла на разделах FAT; отличие заключается в том, что имена файла на FAT нсмогут содержать расширенные символы. Дополнительную информацию о поддержкедлинных имен файлов для разделов FAT можно найти в разделе “Файловая системаFAT”. Генерация короткого имени файла

Поскольку NTFS использует набор символов Unicode дляимен файлов, существует возможность задействования нескольких “запрещенных”символов, которые MS-DOS не может читать в имени файла. Для генерации короткогоимени файла в стиле MS-DOS, NTFS удаляет все эти символы и любые пробелы издлинного имени файла. Так как имя файла в MS-DOS может иметь только одну точку,NTFS также удаляет все дополнительные точки из имени файла. Далее, в случаенеобходимости NTFS усекает имя файла до шести символов и добавляет тильду (~) иномер. Например, к каждому недублированному имени файла добавляется -1.Повторяющиеся имена файлов заканчиваются символами ~2, ~3 и т. д. Расширениеимени файла усекается до трех или меньшего количества символов. Наконец, приотображении имени файла в командной строке NTFS транслирует все символы в именифайла и расширении к верхнему регистру (File Manager отображает эти имена файлав нижнем регистре).

Windows NT 3.5 использует несколько другой метод длясоздания коротких имен файлов для случая, когда имеется пять или более файлов,которые привели бы к двойным коротким именам файла. Для пятого и последующихфайлов Windows NT использует только первые два символа от длинного имени файлаи далее специальной математической операцией (функция от длинного имени)генерирует следующие уникальные четыре символа короткого имени файла; послеэтого к результату добавляется ~5 (или другой номер в случае необходимостиизбежания двойного имени файла). Такой метод обеспечивает в основном повышеннуюэффективность для случая, когда Windows NT должна создавать короткие именафайлов для большого количества файлов с похожими длинными именами. Windows NTиспользует этот метод создания коротких имен для томов FAT и NTFS.

По умолчанию, Windows NT 3.5 поддерживает именафайлов в формате MS-DOS на всех томах NTFS. Для повышения эффективности работына томах с большим количеством длинных похожих имен можно запретить этувозможность для всех томов. Для отключения поддержки коротких имен файлов навсех томах NTFS необходимо установить в 1 значение NTfsDisable8dot3NameCreationследующего элемента реестра:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem

Windows NT не генерирует коротких имен для файлов,созданных приложениями POSIX в разделе NTFS. Это означает, что приложенияMS-DOS и Windows З.х не смогут работать с подобными именами, если эти имена неудовлетворяют условию “восемь плюс три”. В случае необходимости работы изприложений MS-DOS или Windows с файлами, которые созданы приложениями POSIX,следует убедиться, что использованы стандартные имена MS-DOS. Просмотркоротких имен файла

File Manager и команда dir позволяют отображать илидлинные имена файлов NTFS или короткие имена стандарта MS-DOS, так что можноработать с файлами, используя оба типа имен. Для просмотра коротких имен файловв File Manager следует выбрать Full File Details.

При работе с командной строкой просмотр обоих типовимен осуществляется с использованием команды: dir /х

Внимание! Для автоматического отображения длинных икоротких имен файлов следует с помощью значка System ю Control Panel установитьдля переменно” dircmd значение /х.

еще рефераты
Еще работы по информатике, программированию