Что такое NTFS.

NTFS (англ. New Technology File System — «файловая система новой технологии») — это стандартная файловая система, предназначенная для семейства ОС Microsoft Windows NT .

NTFS пришла на смену файловой систем FAT, использовавшейся ранее в Microsoft Windows и MS-DOS. NTFS поддерживает систему метаданных, а также применяет для хранения информации о файлах специализированные структуры данных, позволяющие улучшить производительность, надежность, эффективность использования дискового пространства. У NTFS есть встроенные возможности, позволяющие разграничивать доступ к данным для разных групп пользователей и отдельных пользователей (ACL — списки контроля доступа), назначать квоты (ограничения по максимальному объему объём дискового пространства, которое занимается тем или иным пользователем). В целях повышения надежности NTFS использует систему журналирования .

Файловая система NTFS была разработана на основе системы HPFS (англ. High Performance File System — высокопроизводительная файловая система), которая была создана совместными усилиями IBM и Microsoft для операционной системы OS/2. Однако, с приобретением весьма полезных новшеств, таких как журналируемость, квотирование, аудит и разграничение доступа, NTFS утратила присущую HPFS высокую производительность файловых операций. На момент своего создания, NTFS включала в себя все самые современные технологические достижения, такие как:

Возможность работы с большими дисками. Размер кластера NTFS - 512 байт, но он может меняться до 64К. Гораздо более важное качество NTFS - теоретическая способность работать с томами в 16,777,216 терабайт. Теоретическая лишь потому, что пока таких жестких дисков еще не создано.

Устойчивость. В NTFS содержатся две копии аналога FAT, называемые MFT (Master File Table). MFT отличается от FAT MSDOS тем, что скорее напоминает таблицу базы данных. В случае повреждения оригинала MFT из-за аппаратной ошибки (к примеру, появления bad-сектора), при следующей загрузке система использует копию MFT, автоматически создав новый оригинал, учтя все повреждения. Но и это не основное преимущество. Основное же заключается в том, что при записи файлов на диск NTFS использует систему транзакций. Данная система пришла из СУБД, где защите целостности данных уделяется особое внимание, что уже может многое сказать о ее эффективности. Эта система обеспечивает абсолютную сохранность данных при копировании, перемещении и удалении файлов или директорий. Если в файл вносятся изменения, то будут потеряны изменения, в момент сбоя находившиеся в кэше контроллера в или памяти, и не записанные на диск.

Защищенность. В NTFS файлы рассматриваются как объекты. И у каждого файлового объекта есть свои свойства, такие как дата создания, имя, архивный статус, дескриптор безопасности и дата последнего обновления. Также файловый объект содержит набор методов, позволяющих работать с ним, таких как write, read, close и open. Пользователи, в том числе и сетевые, вызывают эти методы для обращения к файлу, а Security Reference Monitor определяет, обладает ли пользователь правами, необходимыми для вызова одного из этих методов. Помимо этого файлы можно шифровать, но делать это следует осторожно. В случае переустановки системы вам не удастся прочитать зашифрованные файлы без ERD.

Компрессия данных. В отличие DriveSpace, в котором диски можно было сжимать только целиком, NTFS позволяет компрессировать отдельные файлы и каталоги. Это позволяет экономить место на диске, к примеру, «на лету» сжимать текстовые файлы или объемные графические файлы формата BMP, и все это будет прозрачно для пользователя.

Поддержка формата ISO Unicode. В отличие от формата ASCII , использовавшего для кодировки каждого символа 7 или 8bit, Unicode использует 16bit. Обычному пользователю это позволит называть файлы абсолютно на любом языке, и система будет поддерживать это, без требований об изменении кодовой страницы, как это делал W9x и DOS .

Существует несколько версий NTFS. В Windows NT 4.0 и Windows NT 3.51 используется v1.2, с Windows 2000 поставляется v3.0, с Windows Server 2003 и Windows XP - v3.1. Некоторые последние версии обозначаются v4.0, v5.0, то есть в полном соответствии с версиями Windows NT, вместе с которыми они поставляются.

У Windows NT файловая система NTFS 4.0, у Windows 2000/XP — NTFS 5. Когда вы подключаете 2000/XP диск c NTFS 4.0, он автоматически конвертируется операционной системой в NTFS 5.0.

Спецификации файловой системы закрыты. Это представляет некоторую трудность для ее поддержки сторонними продуктами, которые не принадлежат Microsoft. Например, разработчики драйверов для свободных операционных систем вынуждены проводить реверс-инжиниринг системы.

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

Для того, чтобы на физическом носителе можно было сохранить информацию, его нужно подготовить для использования в компьютерной операционной системе. Операционная система для сохранения информации выделяет свободную область диска. Для этого необходимо поделить диск на малые контейнеры – сектора. Форматирование диска на низком уровне выделяет для каждого сектора определенный размер. Операционная система группирует эти сектора в кластеры. Форматирование на высшем уровне задает всем кластерам одинаковый размер, обычно в интервале от 2 до 16 секторов. В дальнейшем на каждый файл выделяется по одному или несколько кластеров. Размер кластера зависит от операционной системы, ёмкости диска, а также требуемой скорости работы.

Помимо области для хранения файлов на диске имеются области, необходимые для работы операционной системы. Эти области предназначены для хранения загрузочной информации и информации для сопоставления адресов файлов с физическим положением на диске. Загрузочная область используется для запуска операционной системы. После загрузки BIOS происходит считывание и выполнение загрузочной области диска для запуска операционной системы.

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

Файловая система FAT появилась вместе с операционной системой Microsoft DOS, после чего была несколько раз усовершенствована. У нее есть версии FAT12, FAT16 и FAT32. Само название FAT происходит от использования файловой системой своеобразной базы данных в виде «таблицы размещения файлов» (File Allocation Table), которая содержит запись для каждого кластера на диске. Номера версий ссылаются на количество бит, используемых в номерах элементов в таблице. Таким образом файловая система имеет ограничение на поддерживаемый размер диска. В 1987 году она не поддерживала диске размером свыше 32 Мб. С появлением Windows 95 вышла новая версия файловой системы FAT32 с теоретической поддержкой дисков емкостью до 2 ТБ. Постоянные проблемы с поддержкой дисков больших размеров появляются из-за фиксированного количества элементов, ограниченного количеством бит, используемых в определении положения кластера. Например, версия FAT16 не поддерживает более 2 16 или 65536 кластеров. Количество секторов в кластере тоже ограничено.

Еще одна проблема с большими дисками заключалась в невозможности использования огромного пространства, выделенного для мелких файлов. Из-за того, что количество кластеров ограничено, увеличивался их размер, чтобы можно было охватить всю емкость диска. Это приводит к неэффективному использованию пространства при хранении большинства файлов, размер которых не кратен размеру кластера. Например, FAT32 выделяет кластеры размером 16 Кб для разделов диска в интервале от 16 до 32 ГБ. Для хранения файла размером 20 Кб потребуется два кластера размером 16 Кб, которые займут на диске 32 Кб. Файлы размером 1 Кб занимают 16 Кб на диске. Таким образом в среднем 30-40% размера емкости диска пропадает для хранения мелких файлов. Разбиение диска на мелкие разделы позволяет уменьшить размер кластера, но для дисков емкостью более 200 Гб на практике не применяется.

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

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

В начале 90-х Microsoft начала разработку совершенно нового ПО, предназначенного для окружения с большим потреблением ресурсов, чем обычные домашние пользователи. Для потребностей бизнеса и индустрии ресурсов, предоставляемых операционными системами Windows основанных на DOS, стало недостаточно. Корпорация Microsoft совместно с IBM работали над операционной системой OS/2 с файловой системой HPFS (High Performance File System – файловая система высокой эффективности). Корпоративная разработка не принесла успеха и в скором времени каждая компания вновь пошла своим путем. Microsoft разработала различные версии операционной системы Windows NT, на основе которых построены Windows 2000 и Windows XP. В каждой из них используется собственная версия файловой системы NTFS, которая продолжает развитие.

NTFS (New Technology File System – «файловая система новой технологии») является стандартной файловой системой для операционных систем на основе Windows NT. Она была разработана для замены FAT. NTFS наиболее гибкая по сравнению с FAT. В ее системных областях хранятся в основном файлы, а не фиксированные структуры как в FAT, что позволяет их изменять, расширять или перемещать в процессе использования. Простым примером является Master File Table (MFT) – «главная таблица файлов». MFT - это своеобразная база данных с различной информацией о файлах на диске. Файлы малого размера (1 Кб и менее) могут хранится непосредственно в MFT. Для больших файлов NTFS выделяет кластеры, но в отличие от FAT размер кластера обычно не превышает 4 Кб, а встроенный метод сжатия избавляет от проблем с неиспользованным местом, выделенным под файлы. А ещё в NTFS можно использовать .

Файловая система NTFS разработана для многопользовательского окружения и имеет встроенные механизмы защиты и разграничения прав доступа. Например, операционные системы Windows 2000 и Windows XP (кроме «Домашней редакции») позволяют устанавливать разрешения доступа к отдельным файлам и шифровать их. Однако высокий уровень безопасности усложняет работу обычных пользователей с компьютером. Необходимо быть предельно осторожным при установке паролей и разрешений на файлы, чтобы не потерять важные данные.

Файловая система NTFS (New Technologies File System – файловая система новой технологии) была выпущена вместе с ОС Windows NT 3.5 в 1993 г. До выхода Windows 2000 разработка двух линий ОС была раздельной, и потребительские ОС Windows 95/98/Me были ограничены использованием FAT16 или FAT32 . В отличие от них, линейка NT , включая Windows XP , поддерживает все системы (за исключением Windows NT4 , не знакомой с FAT32 ).

Система NTFS содержит множество улучшений по сравнению с системами FAT . Наиболее важные относятся к:

· оптимизированному использованию пространства на больших томах,

· исправлению ошибок после аварий,

· защите данных от несанкционированного доступа,

· службе индексации,

· сжатию и шифрованию данных,

· восстановлению системы после серьезных сбоев.

NTFS может управлять разделами размером в несколько сотен Тбайт. Что касается безопасности, то администраторы получили возможность использовать встроенные функций защиты: политики доступа пользователей к файлам и папкам, системы шифрования файлов EFS (Encryption File System – шифрованная файловая система).

Система NTFS , используемая в версиях Windows, вплоть до Windows 2000 , не соответствовала современным требованиям, в частности:

· ограничивала число томов 26 (диски от A до Z);

· изменение раздела всегда требовало перезагрузки;

· информация о томах NTFS хранилась в реестре, что усложняло использование диска с другой системой.

Указанные проблемы были решены в Windows 2000 с помощью LDM (Logical Disk Manager – логический дисковый менеджер), который больше не требует присвоения букв дискам. Улучшения NTFS , используемой в Windows XP , были связаны с:

· улучшением пропускной способности данных,

· введением возможности устанавливать значения размера кластера, отличные от фиксированного по 512 байт;

· улучшением административных функций: индексация папок и ограничение непредвиденных расходов памяти.

Файловая система NTFS представляет собой выдающееся достижение структуризации: каждый элемент системы представляет собой файл – даже служебная информация. Самый главный файл в NTFS называется MFT (Master File Table – общая таблица файлов). В отличие от FAT , которая хранит таблицы отдельно, в начале тома, NTFS помещает MFT в скрытых файлах.

Раздел NTFS может быть почти какого угодно размера. Его максимальный размер ограничен лишь размерами жестких дисков.

NTFS делит все полезное место носителя на кластеры – блоки данных, причем размер кластера изменяется от 512 байт до 64 Кбайт (стандартом считается кластер размером 4 Кбайт).

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

Рис. 9. Физическая структура NTFS

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

MFT размещается в MFT-зоне и представляет собой централизованный каталог всех остальных файлов диска (в том числе, и себя самого). MFT управляет всеми файлами тома и, так называемыми, метаданными с помощью реляционной базы данных. Информация о файлах размещается в строчках, а в столбцах записаны атрибуты файлов (скрытый, шифрованный, сжатый, системный и т.д.).

MFT поделен на записи фиксированного размера (обычно 1 Кбайт), и каждая запись соответствует какому-либо файлу. Первые 16 файлов носят служебный характер и недоступны ОС – они называются метафайлами , причем самый первый метафайл – сам MFT . Файлы размером до 900 байт могут полностью помещаться в одну запись. Для файлов большего размера MFT содержит указатели на их расположение в дисковой памяти. То же самое относится и к папкам: если они имеют достаточно малый размер, то полностью входят в MFT .

Первые 16 элементов MFT – единственная часть диска, имеющая фиксированное положение. Вторая копия первых трех записей, для надежности (они очень важны) хранится ровно посередине диска. Остальной MFT-файл может располагаться, как и любой другой файл, в произвольных местах диска – восстановить его положение можно с помощью его самого, «зацепившись» за самую основу – за первый элемент MFT .

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

Метафайлы находятся в корневом каталоге NTFS диска – они начинаются с символа имени «$». В настоящее время используются следующие метафайлы:

· $MFT – сам MFT;

· $MFTmirr – копия первых 16 записей MFT, размещенная посередине диска;

· $LogFile – файл поддержки журналирования;

· $Volume – служебная информация (метка тома, версия файловой системы и т.д.);

· $AttrDef – список стандартных атрибутов файлов на томе;

· $. - корневой каталог;

· $Bitmap – карта свободного места тома;

· $Boot – загрузочный сектор (если раздел загрузочный);

· $Quota - файл, в котором записаны права пользователей на использование дискового пространства;

· $Upcase – файл-таблица соответствия заглавных и прописных букв в именах файлов на текущем томе.

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

Файлы небольшого размера (до 900 байт) хранятся прямо в MFT , в оставшемся от основных данных месте в пределах одной записи MFT . Файлы, занимающие сотни байт, обычно не имеют своего «физического» воплощения в основной файловой области - все данные такого файла хранятся в одном месте - в MFT .

Имя файла может содержать любые символы, включая полный набор национальных алфавитов, так как данные представлены в Unicode – 16-битном представлении, которое дает 65535 разных символов. Максимальная длина имени файла – 255 символов.

Каталог на NTFS представляет собой специфический файл, хранящий ссылки на другие файлы и каталоги, создавая иерархическое строение данных на диске. Файл каталога поделен на блоки, каждый из которых содержит имя файла, базовые атрибуты и ссылку на элемент MFT , который уже предоставляет полную информацию об элементе каталога. Внутренняя структура каталога представляет собой бинарное дерево (В-дерево ). Это означает следующее: для поиска файла с данным именем в линейном каталоге, таком, например, как в FAT, ОС приходится просматривать все элементы каталога, пока она не найдет нужный. Бинарное же дерево располагает имена файлов таким образом, чтобы поиск файла осуществлялся более быстрым способом – с помощью получения двухзначных ответов на вопросы о положении файла. Вопрос, на который бинарное дерево способно дать ответ, таков: в какой группе, относительно данного элемента, находится искомое имя – выше или ниже? Такой поиск начинается с вопроса к среднему элементу, и каждый ответ сужает зону поиска в среднем в два раза. Файлы отсортированы по алфавиту, и ответ на вопрос осуществляется очевидным способом – сравнением начальных букв. Область поиска, суженная в два раза, начинает исследоваться аналогичным образом, начиная опять же со среднего элемента. Пример поиска по В-дереву показан на рис. 10.

Таким образом, для поиска одного файла среди, например, 1000, FAT придется осуществить в среднем 500 сравнений (наиболее вероятно, что файл будет найден на середине поиска), а системе на основе В-дерева – всего около 10-ти (2 10 = 1024).

Главный каталог диска - корневой - ничем не отличается об обычных каталогов, кроме специальной ссылки на него из начала метафайла MFT .

NTFS – отказоустойчивая система, которая может привести себя в корректное состояние при практически любых реальных сбоях.

В табл. 4 приведены ограничения, налагаемые на файловые системы NTFS и FAT .

Таблица 4. Ограничения файловых систем

Для новой ОС Vista компания Microsoft разрабатывает новую файловую систему Windows Future Storage (WinFS – «грядущая система хранения »), призванную заменить NTFS и FAT . В основе WinFS лежит доработанная NTFS с улучшенными функциями администрирования, организации доступа к файлам, синхронизации и защиты файловых ресурсов.

Новая файловая система предназначена для хранения файлов на основе критериев их содержания, т.е. автора, содержания, имени, источника и последнего обратившегося пользователя. Структура папок, отображаемая в Проводнике , представляет собой просто виртуальную карту.

Сутью WinFS является, так называемая, модель данных – механизм, который постоянно администрирует и структурирует цифровые элементы или «предметы» (items ). Предметы используют описательные элементы, выходящие за понятие файла. Эти описательные элементы не присутствуют в файле, а полностью принадлежат и управляются WinFS . При данной схеме в качестве предметов можно регистрировать не только файлы, но и, например, контакты, ссылки в Интернете, письма и т.д.

С точки зрения пользователей, предметы снимают необходимость в использовании физического места расположения файлов. Вместо этого ОС организует данные, в зависимости от их содержания, в виртуальные папки. При поиске данных пользовательские критерии типа «Все документы по курсу ИКТ за последние два года » заменяют информацию о формате файлов, авторах и расположении.

Microsoft реализовала меняющуюся модель предметов в WinFS , т.е. пользователи могут сами определять предметы с помощью метаданных XML и указывать связи между предметами. При этом существует возможность, например, вывода всех документов данного автора вместе с информацией о его адресе и связанных с ним документов.

Задание №4 1. Определите, какие файловые системы используются на жестком диске вашей рабочей станции: · выполните команды главного меню Windows: Пуск Þ Настройка Þ Панель управления Þ Администрирование Þ Управление компьютером; · в левой панели консоли Управление компьютером раскройте раздел Запоминающие устройства и дважды щелкните мышью по опции Управление дисками; · в правой панели консоли Управление компьютером отобразится информация о структуре дисков и используемых файловых системах; · запишите эту информацию в свою рабочую тетрадь; · закройте окно консоли. 2. Определите характеристики логических и физических дисков вашей рабочей станции: · выполните команды главного меню Windows: Пуск Þ Программы Þ Стандартные Þ Служебные Þ Сведения о системе; · в левой панели консоли Сведения о системераскройте раздел Компоненты, а в нем – подраздел Запоминающие устройства; · двойным щелчком мыши выберите первую опцию Диски. В правой панели отобразятся характеристики логических дисков. Выпишите значения в свою рабочую тетрадь; · двойным щелчком мыши выберите вторую опцию Диски. В правой панели отобразятся характеристики физических дисков. Выпишите основные значения в свою рабочую тетрадь; · закройте окно консоли.

В название файловой системы NTFS входят слова «новая технология». NTFS содержит ряд значительных усовершенствований и изменений, существенно отличающих ее от других файловых систем. С точки зрения пользователей, файлы по-прежнему хранятся в каталогах (часто называемых «папками»). Однако в NTFS в отличие от FAT работа на дисках большого объема происходит намного эффективнее; имеются средства для ограничения в доступе к файлам и каталогам, введены механизмы, существенно повышающие надежность файловой системы, сняты многие ограничения на максимальное количество дисковых секторов и/или кластеров.

Основные возможности файловой системы NTFS:

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

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

    поддержка POSIX. Поскольку правительство США требовало, чтобы все закупаемые им системы хотя бы в минимальной степени соответствовали стандарту POSIX, такая возможность была предусмотрена и в NTFS. К числу базовых средств файловой системы POSIX относится необязательное использование имен файлов с учетом регистра, хранение времени последнего обращения к файлу и механизм так называемых «жестких ссылок» – альтернативных имен, позволяющих ссылаться на один и тот же файл по двум и более именам;

    гибкость. Модель распределения дискового пространства в NTFS отличается чрезвычайной гибкостью. Размер кластера может изменяться от 512 байт до 64 Кбайт; он представляет собой число, кратное внутреннему кванту распределения дискового пространства. NTFS также поддерживает длинные имена файлов, набор символов Unicode и альтернативные имена формата 8.3 для совместимости с FAT.

NTFS превосходно справляется с обработкой больших массивов данных и достаточно хорошо проявляет себя и при работе с томами объемом от 300 - 400 Мбайт, и при работе с максимально возможными томами и файлами – 16 Эбайт (экзабайт 2 64 байт, или 16000 млрд. гигабайт). Количество файлов в корневом и некорневом каталогах не ограничено. Поскольку в основу структуры каталогов NTFS заложена эффективная структура данных, называемая «бинарным деревом». Время поиска файлов в NTFS (в отличие от систем на базе FAT) не связано линейной зависимостью с их количеством.

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

Файловая система NTFS поддерживает объектную модель безопасности NT и рассматривает все тома, каталоги и файлы как самостоятельные объекты. NTFS обеспечивает безопасность на уровне файлов; это означает, что права доступа к томам, каталогам и файлам могут зависеть от учетной записи пользователя и тех групп, к которым он принадлежит. Каждый раз, когда пользователь обращается к объекту файловой системы, его права доступа проверяются по списку разрешений данного объекта. Если пользователь обладает достаточным уровнем прав, его запрос удовлетворяется; в противном случае запрос отклоняется. Эта модель безопасности применяется как при локальной регистрации пользователей на компьютерах с NT, так и при удаленных сетевых запросах.

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

Структура тома с файловой системой NTFS.

Одним из основных понятий, используемых при работе с NTFS, является понятие тома (volume). Возможно также создание отказоустойчивого тома, занимающего несколько разделов, то есть использование RAID-технологии. Как и многие другие системы, NTFS делит все полезное дисковое пространство тома на кластеры – блоки данных, адресуемые как единицы данных. NTFS поддерживает размеры кластеров от 512 байт до 64 Кбайт; стандартом же считается кластер размером 2 или 4 Кбайт.

Все дисковое пространство в NTFS делится на две неравные части. Первые 12% диска отводятся под так называемую MFT-зону – пространство, которое может занимать, увеличиваясь в размере, главный служебный метафайл MFT.

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

MFT (master file table – общая таблица файлов) представляет собой централизованный каталог всех остальных файлов диска, в том числе и себя самого. MFT поделен на записи фиксированного размера в 1 Кбайт, и каждая запись соответствует какому-либо файлу (в общем смысле этого слова). Первые 16 файлов носят служебный характер и недоступны операционной системе - они называются метафайлами, причем самый первый метафайл – сам MFT. Эти первые 16 элементов MFT – единственная часть диска, имеющая строго фиксированное положение. Копия этих же 16 записей хранится в середине тома для надежности, поскольку они очень важны. Остальные части MFT-файла могут располагаться, как и любой другой файл, в произвольных местах диска – восстановить его положение можно с помощью его самого, «зацепившись» за самую основу – за первый элемент MFT.

Упомянутые первые 16 файлов NTFS (метафайлы) носят служебный характер; каждый из них отвечает за какой-либо аспект работы системы. Метафайлы находятся в корневом каталоге NTFS-тома. Все они начинаются с символа имени «$», хотя получить какую-либо информацию о них стандартными средствами сложно. В таблице приведены основные известные метафайлы и их назначение.

Таким образом, можно узнать, например, сколько операционная система тратит на каталогизацию тома, посмотрев размер файла $MFT.

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

Файл в томе с NTFS идентифицируется так называемой файловой ссылкой, которая представляется как 64-разрядное число. Файловая ссылка состоит из номера файла, который соответствует позиции его файловой записи в MFT, и номера последовательности. Последний увеличивается всякий раз, когда данная позиция в MFT используется повторно, что позволяет файловой системе NTFS выполнять внутренние проверки целостности.

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

Стандартные же атрибуты для файлов и каталогов в томе NTFS имеют фиксированные имена и коды типа:

Системный атрибут

Описание атрибут

Стандартная информация о файле

Традиционные атрибуты Read Only, Hidden, Archive, System, отметки времени, включая время создания или последней модификации, число каталогов, ссылающихся на файл

Список атрибутов

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

Имя файла

Имя фаула в символах Unicode. Файл может иметь

несколько атрибутов – имен файла, подобно тому как это имеет место в POSIX-системах. Это случается, когда имеется связь POSIX с данным файлом или если у файла есть автоматически сгенерированное имя в формате 8.3

Дескриптор защиты

Структура данных защиты (ACL), предохраняющая файл от несанкционированного доступа. Атрибут «дескриптор защиты» определяет, кто владелец файла и кто имеет доступ к нему

Собственно данные файла, его содержимое. В NTFS у файла по умолчанию есть один безымянный атрибут данных; и он может иметь дополнительные именованные атрибуты данных. У каталога нет атрибута данных по умолчанию, но он может иметь необязательные именованные атрибуты данных

Корень индекса, размещение индекса, битовая карта (только для каталогов)

Атрибуты, используемые для индексов имен файлов в больших каталогах

Расширенные атрибуты NTFS

Атрибуты, используемые для реализации расширенных атрибутов HPFS для подсистемы OS/2 и OS/2-клиентов файл-серверов Windows NT

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

Имя файла в NTFS, в отличие от файловых систем FAT и HPFS, может содержать любые символы, включая полный набор национальных алфавитов, так как данные представлены в Unicode – 16-битном представлении, которое дает 65535 разных символов. Максимальная длина имени файла в NTFS - 255 символов.

Большой вклад в эффективность файловой системы вносит организация каталога. Каталог в NTFS представляет собой специальный файл, хранящий ссылки на другие файлы и каталоги, создавая иерархическое строение данных на диске. Файл каталога поделен на блоки, каждый из которых содержит имя файла, базовые атрибуты и ссылку на элемент MFT, который уже предоставляет полную информацию об элементе каталога. Главный каталог диска – корневой – ничем не отличается от обычных каталогов, кроме специальной ссылки на него из начала метафайла MFT.

Внутренняя структура каталога представляет собой бинарное дерево. Бинарное дерево каталога располагает имена файлов таким образом, чтобы поиск файла осуществлялся с помощью получения двухзначных ответов на вопросы о положении файла. Бинарное дерево способно дать ответ на вопрос: в какой группе, относительно данного элемента, находится искомое имя – выше или ниже? С такого вопроса к среднему элементу начинается поиск, и каждый ответ сужает зону поиска в среднем в два раза. Если представить, что файлы отсортированы по алфавиту, то ответ на вопрос осуществляется очевидным способом – сравнением начальных букв. Область поиска, суженная в два раза, начинает исследоваться аналогичным образом, начиная опять же со среднего элемента. При этом добавлять файл в каталог в виде дерева не намного труднее, чем в линейный каталог системы FAT. Это сопоставимые по времени операции. Для того чтобы добавить новый файл в каталог, нужно сначала убедиться, что файла с таким именем там еще нет. Поэтому в системе FAT с линейной организацией записей каталога у нас появляются трудности не только с поиском файла. И это с лихвой компенсирует саму простоту добавления файла в каталог.

Возможности файловой системы NTFS по ограничению доступа к файлам и каталогам.

NTFS рассматривает каталоги (папки) и файлы как разнотипные объекты и ведет отдельные (хотя и перекрывающиеся) списки прав доступа для каждого типа. Ниже перечислены праваNTFS, назначаемые папкам (соответствующие права для файлов приведены ниже):

нет доступа (no access) (None)(нет);

полный доступ (full control) (All)(All) (все) (все);

право чтения (read) (RX)(RX) (чтение)(чтение);

право добавления (add) (WX)(not specified) (запись/выполнение не указано);

право добавления и чтения (add&read) (RWX)(RX) (чтение/запись/выполнение) (чтение/выполнение);

право просмотра (list) (RX)(not specified) (чтение/выполнение)(не указано);

право изменения (change) (RWXD))(RWXD) (чтение/запись/ выполнение/ удаление) (чтение/запись/выполнение/удаление).

В выражениях в скобках, указанные после имени права доступа: первое выражение относится к самой папке, а второе - ко всем файлам, которые могут быть созданы внутри нее. Например, при полном доступе для папки разрешаются любые действия, однако пользователь с полным доступом к папке также будет обладать полным правом доступа ко всем созданным в ней файлам (если только права доступа к файлу не были изменены его владельцем или администратором). Другими словами, в NTFS файлы и папки по умолчанию наследуют права доступа, установленные для их родительской папки, однако эти права могут быть изменены любым пользователем, которому разрешено изменять права доступа для соответствующих объектов NTFS.

Файлы в NTFS могут обладать следующими правами:

полный доступ (full control) (All) (все);

нет доступа (no access) (None) (нет);

право изменения (change) (RWXD) (чтение/запись/выполнение/удаление);

право чтения (read) (RX) (чтение/выполнение).

Для прав доступа NTFS, как и для прав общих каталогов, действует принцип поглощения. Исключение составляет право «нет доступа», отменяющее действие всех остальных прав.

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

Сначала осуществляется доступ к файлам, который был определен сетевыми механизмами. Это право «нет доступа» - «no access», право на «чтение» - «read», право «изменение» - «change» и «полный доступ» - «full control». После этого вступают в силу ограничения на файлы и каталоги, определенные свойствами NTFS. То есть итоговые права на папки и файлы определяются максимальными ограничениями, которые были заданы в каждом из механизмов.

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

полный доступ (full control) (All);

чтение (read) (R);

запись (write) (W);

выполнение (execute) (X);

удаление (delete) (D);

изменение разрешений (change permissions) (P);

изменение владельца (take ownership) (O).

В принципе можно было бы выбирать любые совокупности перечисленных разрешений, однако на практике это, не работает. Например, нельзя указать право Х (исполнение) без права R (чтение), хотя в других системах управления файлами такое право обеспечивается. Оно позволяет выполнять программу, файл которой помечен таким атрибутом, но не дает возможности ее скопировать. Многие другие комбинации специальных разрешений тоже не работают должным образом и это надо обязательно иметь в виду. Лучше пользоваться штатными правами на файлы и каталоги, которые были перечислены выше.

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

Если папка или файл перемещается в другую папку того же раздела NTFS, то атрибуты безопасности не наследуются от нового объекта-контейнера. Например, если из папки с правами чтения для группы everyone файл перемещается в папку того же раздела с полным доступом для той же группы, то для перемещенного файла будет сохранено исходное право чтения. Дело в том, что при перемещении файлов в границах одного раздела NTFS изменяется только указатель местонахождения объекта, а все остальные атрибуты (включая атрибуты безопасности) остаются без изменений.

Три следующих важных правила помогут определить состояние прав доступа при перемещении или копировании объектов NTFS:

    при перемещении файлов в границах раздела NTFS сохраняются исходные права доступа;

    при выполнении других операций (создании или копировании файлов, а также их перемещении между разделами NTFS) наследуются права доступа родительской папки;

    при перемещении файлов из раздела NTFS в раздел FAT все права NTFS теряются.

При установке Windows XP вам будет предложено отформатировать существующий раздел, на который устанавливается ОС, в файловую систему NTFS. Необходимо разобраться, что это такое.

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

Основными целями NTFS являются:

  • обеспечение скоростного выполнения стандартных операций над файлами, таких как чтение, запись, поиск
  • обеспечение предоставления дополнительных возможностей, включая восстановление поврежденной файловой системы на чрезвычайно больших дисках.

NTFS начала использоваться вместе с Windows NT 3.1 в 1993 году. Вот основные ее технологические достижения:

  1. Работа с большими дисками. NTFS имеет размер кластера 512 байт, но его можно менять до 64К.
  2. Устойчивость. NTFS содержит две копии аналога FAT, которые называются MFT (Master File Table. Если оригинал MFT повреждён в случае аппаратной ошибки, то система при следующей загрузке использует копию MFT, и автоматически создаёт новый оригинал, уже с учётом повреждений. NTFS использует систему транзакций при записи файлов на диск.
  3. Защищенность. NTFS рассматривает файлы, как объекты. Каждый файловый объект обладает свойствами, такими как его имя, дата создания, дата последнего обновления, архивный статус. Файловый объект также содержит набор методов, которые позволяют с ним работать, такие как open, close, read и write.
  4. Компрессия данных. NTFS позволяет компрессировать отдельные каталоги и файлы. Это позволяет экономить пространство на диске, например можно сжимать большие графические файлы формата BMP, или текстовые файлы.
  5. Поддержка формата ISO Unicode. Формат Unicode использует 16bit для кодировки каждого символа. Простой пользователь может называть файлы на любом языке - система это будет поддерживать, не требуя изменить кодовую страницу, как это делал DOS и W9x.

Основные свойства файловой системы NTFS:

  1. NTFS обладает характеристиками защищенности, позволяет контролировать доступ к данным и привилегии владельца для обеспечения целостности важных данных. Папки и файлы NTFS могут иметь назначенные им права доступа.
  2. NTFS имеет возможность введения квот. Это свойство, как правило, необходимо системным администраторам, больших компаний, где работают большое количество пользователей, которые не следят за актуальностью информации, и которые хранят ненужные файлы, тем самым занимая дисковое пространство. Так как администратор не может проследить за всем этим, он может ввести квоту на использование диска определенному пользователю. Если пользователь превысит выданную ему квоту, в журнал событий будет внесена соответствующая запись. Чтобы включить квоты на диске нужно:
  • чтобы диск был в формате NTFS
  • в свойствах папки Tools-Folder Options-View убрать флажок Simple File Sharing.
  • в появившейся вкладке Quota необходимо установить флажок на Enable quota managment (Активизировать управление квотами). Это будет установлена мягкое квотирование, которое выдаст предупреждение, что пользователь превысил квоту, но право на запись у него будет. Чтобы в случае превышения квоты пользователю было отказано в доступе к этому тому, необходимо установить флажок на Deny disk space to users exceeding quota limit (Запретить запись на диск пользователям, превысившим размер дискового пространства).


Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: