какую структуру имеет файловая система ntfs

Файловая система NTFS — хранение и восстановление данных

Основные отличия и ключевые моменты файловой системы, а также определим, был ли переход с FAT на NTFS оправданным.

какую структуру имеет файловая система ntfs. картинка какую структуру имеет файловая система ntfs. какую структуру имеет файловая система ntfs фото. какую структуру имеет файловая система ntfs видео. какую структуру имеет файловая система ntfs смотреть картинку онлайн. смотреть картинку какую структуру имеет файловая система ntfs.

Содержание:

Перед массовым распространением операционных систем семейства Windows NT (2000, XP, Vista, 7, 10, Server и т.д.) большинство продуктов Microsoft, а также MS DOS использовали файловую систему FAT, которая была разработана Б. Гейтсом еще в середине 80-ых годов. FAT зарекомендовала себя как надежная и проверенная файловая система (ФС), но с развитием технологий и увеличением объемов накопителей, Microsoft представили NTFS – новую ФС, которая активно используется и до сих пор.

NTFS – «файловая система новой технологии»

ФС FAT была разработана специально для использования с дискетами, которые ушли в прошлое с массовым распространением компакт-дисков и USB-накопителей. FAT плохо подходил для масштабирования, а максимальный размер файла в 4 гигабайта накладывал множество ограничений. Помимо этого, устаревший формат файловой системы не обладал требуемыми функциями безопасности, а также не позволял производить восстановление удаленной информации. Эти причины заставили Microsoft заняться разработкой новой ФС.

Интересный факт: по состоянию на 2016 год производством 3.5” дискет занимается всего один завод в Тайване.

Во время разработки NTFS, Microsoft использовали некоторые наработки, а также отдельные моменты уже существующих ФС FAT и HPFS (файловая система для операционной системы OS/2, которая разрабатывалась Microsoft совместно с IBM). После нескольких лет активной разработки, Microsoft представили свою новую ФС NTFS в Windows NT 3.1 – специализированной ОС для серверов и рабочих станций.

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

Разберемся с основными моментами и преимуществами NTFS более детально.

Масштабируемость

Microsoft занимались разработкой ФС NTFS во времена, когда объем в 1 гигабайт считался весьма значительным. Тем не менее, разработчики предвидели мощный скачок цифровых технологий, поэтому новая файловая система создавалась «с запасом». Таким образом максимальный теоретический размер тома ограничивается 16 экзабайтами, что равно примерно одному миллиону терабайт. В данный момент не существует такого носителя для частного использования, который бы хоть-сколько приблизился к этой отметке. С этого можно сделать вывод, что NTFS имеет превосходную масштабируемость, значительно обогнавшую своё время.

Интересный факт: одним из самых объемных и в то же время мобильных накопителей является хранилище на базе грузовика Snowmobile от Amazon. Его емкость составляет 100000 терабайт, а само запоминающее устройство транспортируется в морском контейнере, установленном на 18-ти колесном тягаче. Такое решение необходимо для быстрой транспортировки сверх объёмных архивов компаний, государственных корпораций и других учреждений.

Надёжность

Надежность никогда не была сильной стороной файловой системы FAT. Из-за особенности её строения, даже незначительное повреждение таблицы размещения файлов может со временем привести к потере значительного количества информации.

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

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

Безопасность

ФС FAT32 напрочь лишена встроенной системы безопасности. У неё отсутствует управление доступом, шифрование системы, а также уровневое шифрование с привязкой к конкретной учетной записи.

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

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

Стоит отметить, что подобная мера безопасности не является помехой для восстановления утерянной информации. К примеру, утилита для восстановления данных RS NTFS Recovery превосходно справляется со своей задачей, обходя разрешения, установленные файловой системой.

Тем не менее, в NTFS присутствует еще несколько мер безопасности, о которых следует рассказать более детально.

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

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

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

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

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

Важно! После введения ключа BitLocker, зашифрованные разделы станут доступны всем пользователям ПК.

Технология сжатия NTFS

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

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

Альтернативные потоки данных в NTFS

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

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

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

Утилита для восстановления информации RS NTFS Recovery работает с альтернативными потоками данных, поэтому удаленные файлы после восстановления будут сохранять все потоки и их содержимое.

Разреженные файлы

Необычной дополнительной особенностью NTFS является работа с так называемыми «Разреженными файлами» («Sparse files»).

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

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

Точки повторной обработки

Точки повторной обработки или Reparse Points позволяют создавать в файловой системе NTFS жесткие или символические ссылки, при помощи которых пользователь может выполнять различные манипуляции с данными и их местоположением. Более детально узнать про данную функцию можно в статье: «Символические и жесткие ссылки в Windows», где приведены примеры их создания, а также их основные возможности.

Отметим, программа RS NTFS Recovery, как и другие утилиты от Recovery Software, отлично справляются с подобными данными.

Часто задаваемые вопросы

Это сильно зависит от емкости вашего жесткого диска и производительности вашего компьютера. В основном, большинство операций восстановления жесткого диска можно выполнить примерно за 3-12 часов для жесткого диска объемом 1 ТБ в обычных условиях.

Если файл не открывается, это означает, что файл был поврежден или испорчен до восстановления.

Используйте функцию «Предварительного просмотра» для оценки качества восстанавливаемого файла.

Когда вы пытаетесь получить доступ к диску, то получаете сообщение диск «X: \ не доступен». или «Вам нужно отформатировать раздел на диске X:», структура каталога вашего диска может быть повреждена. В большинстве случаев данные, вероятно, все еще остаются доступными. Просто запустите программу для восстановления данных и отсканируйте нужный раздел, чтобы вернуть их.

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

Сохранить их можно после регистрации программы – повторное сканирование для этого не потребуется.

Источник

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

Основные понятия

Файловая система ( file system ) – способ организации данных в виде файлов на устройствах внешней памяти (жестких и оптических дисках, устройствах флеш-памяти и т. п.).

Файловая система должна обеспечивать:

Windows поддерживает несколько файловых систем для различных внешних устройств:

Раздел ( partition ) – непрерывная часть жесткого диска. Диск может содержать несколько разделов.

Том ( volume ) или логический диск (logical disk ) – область внешней памяти, с которой операционная система работает как с единым целым. Тома бывают простые и составные.

Простой том (simple volume ) – том, состоящий из одного раздела.

Составной том (multipartition volume ) – том, состоящий из нескольких разделов (необязательно на одном диске).

Понятия раздела и простого тома отличаются: во первых, разделы формируются, в основном, только на жестких дисках, а тома создаются и на других устройствах внешней памяти (например на оптических дисках и устройствах флеш памяти), во вторых, понятие «раздел» связано с физическим устройством, а понятие «том» – с логическим представлением внешней памяти.

При записи на диск файл всегда будет занимать целое число кластеров. Например, файл размером 100 байт в файловой системе с размером кластера 4 КБ будет занимать ровно 4 КБ.

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

Возможности NTFS

В NTFS используются 64 разрядные идентификаторы кластеров, поэтому теоретически том NTFS может содержать 264 кластеров (16 ЭБ 3 2 10 байт = 1 килобайт (КБ), 2 20 байт = 1 мегабайт (МБ), 2 30 байт = 1 гигабайт (ГБ), 2 40 байт = 1 терабайт (ТБ), 2 50 байт = 1 петабайт (ПБ), 2 60 байт = 1 экзабайт (ЭБ), 2 70 байт = 1 зеттабайт (ЗБ). ). Однако текущие реализации в Windows поддерживают только 32 разрядную адресацию кластеров, что при размере кластера максимум 64 КБ (216 байт ) позволяет NTFS тому достигать размера до 256 ТБ:

2 32 * 2 16 байт = 2 48 байт = 2 8 * 2 40 байт = 256 ТБ.

Для томов, больших 4 ГБ, при форматировании Windows предлагает размер кластера по умолчанию 4 КБ.

Перечислим некоторые возможности NTFS [5, стр. 761]:

Структура NTFS

Структура тома NTFS представлена на рис.17.1.

какую структуру имеет файловая система ntfs. картинка какую структуру имеет файловая система ntfs. какую структуру имеет файловая система ntfs фото. какую структуру имеет файловая система ntfs видео. какую структуру имеет файловая система ntfs смотреть картинку онлайн. смотреть картинку какую структуру имеет файловая система ntfs.

Остальное место на томе NTFS отводится под файлы – системные и пользовательские.

Рассмотрим более подробно структуру MFT (рис.17.2).

какую структуру имеет файловая система ntfs. картинка какую структуру имеет файловая система ntfs. какую структуру имеет файловая система ntfs фото. какую структуру имеет файловая система ntfs видео. какую структуру имеет файловая система ntfs смотреть картинку онлайн. смотреть картинку какую структуру имеет файловая система ntfs.

Перечислим следующие несколько записей в таблице MFT и кратко опишем назначение соответствующих системных файлов:

Источник

Обзор файловой системы NTFS

Область применения: Windows Server 2022, Windows 10, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2, Windows Server 2008

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

Дополнительные сведения о функциях см. в этом разделе далее в этой статье. См. сведения о новой системе Resilient File System (ReFS).

повышенная надежность;

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

NTFS непрерывно отслеживает и исправляет временные проблемы повреждения в фоновом режиме, не переводя том в автономный режим (эта функция, введенная в Windows Server 2008, известна как NTFS с самовосстановлением). При значительных проблемах с повреждением программа Chkdsk в Windows Server 2012 и более поздних версиях сканирует и анализирует диск, пока том подключен, ограничивая время автономной работы временем, необходимым для восстановления целостности данных в томе. Когда NTFS используется с CSV, простои не требуются. Дополнительные сведения см. в статье NTFS Health and Chkdsk (Работоспособность NTFS и Chkdsk).

Повышенная безопасность

Безопасность на основе списка управления доступом (ACL) для файлов и папок. NTFS позволяет устанавливать разрешения для файла или папки, указывать группы и пользователей, чей доступ требуется ограничить или разрешить, и выбрать тип доступа.

Поддержка шифрования диска BitLocker. Шифрование диска BitLocker обеспечивает дополнительную безопасность важных системных сведений и других данных, хранящихся на томах NTFS. Начиная с Windows Server 2012 R2 и Windows 8.1, BitLocker поддерживает шифрование устройств на компьютерах с архитектурой x86 и x64 с доверенным платформенным модулем, который поддерживает режим ожидания с подключением (ранее доступный только на устройствах Windows RT). Шифрование устройств помогает защитить данные на компьютерах под управлением Windows и помогает предотвратить доступ пользователей-злоумышленников к системным файлам, которые они используют для обнаружения пароля, или к диску путем физического удаления его с компьютера и установки в другой компьютер. Дополнительные сведения см. в статье What’s New in BitLocker (Новые возможности BitLocker).

Поддержка больших томов

NTFS может поддерживать тома размером до 8 ПБ в версии Windows Server 2019 и выше и Windows 10 версии 1709 и выше (более ранние версии поддерживают до 256 ТБ). Поддерживаемые размеры томов зависят от размера кластеров и их количества. Для кластеров (2 32 –1) (максимальное число кластеров, поддерживаемое NTFS) поддерживаются следующие размеры томов и файлов.

Размер кластераСамый крупный том и файл
4 КБ (размер по умолчанию)16 ТБ
8 КБ32 ТБ
16 КБ64 ТБ
32 КБ128 ТБ
64 КБ (предыдущий максимальный размер)256 ТБ
128 КБ512 ТБ
256 KB1 ПБ
512 КБ2 ПБ
1024 КБ4 ПБ
2048 КБ (максимальный размер)8 ПБ

Обратите внимание, что при попытке подключить том с размером кластера, который превышает поддерживаемый максимум используемой версии Windows, вы получите ошибку STATUS_UNRECOGNIZED_VOLUME.

Службы и приложения могут накладывать дополнительные ограничения на размер файлов и томов. Например, ограничение размера тома составляет 64 ТБ, если вы используете функцию предыдущих версий или приложение резервного копирования, которое использует моментальные снимки службы теневого копирования томов (и не используете сеть SAN или RAID). Тем не менее, может потребоваться использовать тома меньшего размера в зависимости от рабочей нагрузки и производительности хранилища.

Требования к форматированию для больших файлов

Есть новые рекомендации по форматированию томов в отношении правильного расширения больших файлов VHDX. В ходе форматирования томов, которые будут использоваться при дедупликации данных, или при размещении очень больших файлов, таких как файлы VHDX размером больше 1 ТБ, используйте в Windows PowerShell командлет Format-Volume со следующими параметрами.

ПараметрОписание
-AllocationUnitSize 64KBЗадает размер единицы распределения NTFS 64 КБ.
-UseLargeFRSВключает поддержку сегментов записей больших файлов (FRS). Это необходимо для увеличения количества экстентов, допустимых для каждого файла в томе. Для больших записей FRS ограничение увеличивается с примерно 1 500 000 до 6 000 000 экстентов.

Например, следующий командлет форматирует диск D как том NTFS с включенными FRS и размером единицы распределения 64 КБ.

Можно также использовать команду format. В системной командной строке введите следующую команду, где /L форматирует большой том FRS, а /A:64k задает размер единицы распределения 64 КБ:

Максимальная длина имени файла и пути к файлу

NTFS поддерживает длинные имена файлов и пути увеличенной длины со следующими максимальными значениями:

Поддержка длинных имен файлов с обратной совместимостью. NTFS допускает длинные имена файлов, сохраняя псевдоним 8.3 на диске (в кодировке Юникод), чтобы обеспечить совместимость с файловыми системами, которые накладывают ограничение 8.3 на имена и расширения файлов. При необходимости (по соображениям производительности) можно выборочно отключить именование 8.3 на отдельных томах NTFS в Windows Server 2008 R2, Windows 8 и более поздних версиях операционной системы Windows. В Windows Server 2008 R2 и более поздних версий короткие имена по умолчанию отключены при форматировании тома с помощью операционной системы. Для совместимости приложений на системном томе все еще включены короткие имена.

Поддержка путей увеличенной длины. Многие функции API Windows поддерживают версии Юникода, позволяющие использовать расширенный путь длиной приблизительно 32 767 символов, а не ограниченный по длине в 260 символов, что определяется параметром MAX_PATH. Подробные требования к именам файлов и формату путей, а также рекомендации по реализации путей увеличенной длины см. в статье Naming Files, Paths, and Namespaces (Имена файлов, пути и пространства имен).

Кластерное хранилище. При использовании в отказоустойчивых кластерах NTFS поддерживает постоянно доступные тома, к которым могут одновременно обращаться несколько узлов кластера при использовании совместно с файловой системой CSV. Дополнительные сведения см. в статье Use Cluster Shared Volumes in a Failover Cluster (Использование общих томов кластера в отказоустойчивом кластере).

Динамическое выделение емкости

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

Источник

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

Операционные системы Microsoft семейства Windows NT нельзя представить без файловой системы 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% диска представляют собой обычное пространство для хранения файлов. какую структуру имеет файловая система ntfs. картинка какую структуру имеет файловая система ntfs. какую структуру имеет файловая система ntfs фото. какую структуру имеет файловая система ntfs видео. какую структуру имеет файловая система ntfs смотреть картинку онлайн. смотреть картинку какую структуру имеет файловая система ntfs.

Свободное место диска, однако, включает в себя всё физически свободное место — незаполненные куски 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.

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

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

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

Каталоги

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

Вывод — для поиска одного файла среди 1000, например, FAT придется осуществить в среднем 500 сравнений (наиболее вероятно, что файл будет найден на середине поиска), а системе на основе дерева — всего около 12-ти (2^10 = 1024). Экономия времени поиска налицо. Не стоит, однако думать, что в традиционных системах (FAT) всё так запущено: во-первых, поддержание списка файлов в виде бинарного дерева довольно трудоемко, а во-вторых — даже FAT в исполнении современной системы (Windows2000 или Windows98) использует сходную оптимизацию поиска. Это просто еще один факт в вашу копилку знаний. Хочется также развеять распространенное заблуждение (которое я сам разделял совсем еще недавно) о том, что добавлять файл в каталог в виде дерева труднее, чем в линейный каталог: это достаточно сравнимые по времени операции — дело в том, что для того, чтобы добавить файл в каталог, нужно сначала убедится, что файла с таким именем там еще нет 🙂 — и вот тут-то в линейной системе у нас будут трудности с поиском файла, описанные выше, которые с лихвой компенсируют саму простоту добавления файла в каталог.

Какую информацию можно получить, просто прочитав файл каталога? Ровно то, что выдает команда dir. Для выполнения простейшей навигации по диску не нужно лазить в MFT за каждым файлом, надо лишь читать самую общую информацию о файлах из файлов каталогов. Главный каталог диска — корневой — ничем не отличается об обычных каталогов, кроме специальной ссылки на него из начала метафайла MFT.

Журналирование

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

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

И все-таки помните, что журналирование — не абсолютная панацея, а лишь средство существенно сократить число ошибок и сбоев системы. Вряд ли рядовой пользователь NTFS хоть когда-нибудь заметит ошибку системы или вынужден будет запускать chkdsk — опыт показывает, что NTFS восстанавливается в полностью корректное состояние даже при сбоях в очень загруженные дисковой активностью моменты. Вы можете даже оптимизировать диск и в самый разгар этого процесса нажать reset — вероятность потерь данных даже в этом случае будет очень низка. Важно понимать, однако, что система восстановления NTFS гарантирует корректность файловой системы, а не ваших данных. Если вы производили запись на диск и получили аварию — ваши данные могут и не записаться. Чудес не бывает.

Сжатие

Файлы NTFS имеют один довольно полезный атрибут — «сжатый». Дело в том, что NTFS имеет встроенную поддержку сжатия дисков — то, для чего раньше приходилось использовать Stacker или DoubleSpace. Любой файл или каталог в индивидуальном порядке может хранится на диске в сжатом виде — этот процесс совершенно прозрачен для приложений. Сжатие файлов имеет очень высокую скорость и только одно большое отрицательное свойство — огромная виртуальная фрагментация сжатых файлов, которая, правда, никому особо не мешает. Сжатие осуществляется блоками по 16 кластеров и использует так называемые «виртуальные кластеры» — опять же предельно гибкое решение, позволяющее добиться интересных эффектов — например, половина файла может быть сжата, а половина — нет. Это достигается благодаря тому, что хранение информации о компрессированности определенных фрагментов очень похоже на обычную фрагментацию файлов: например, типичная запись физической раскладки для реального, несжатого, файла:

кластеры файла с 1 по 43-й хранятся в кластерах диска начиная с 400-го

кластеры файла с 44 по 52-й хранятся в кластерах диска начиная с 8530-го…

Физическая раскладка типичного сжатого файла:

кластеры файла с 1 по 9-й хранятся в кластерах диска начиная с 400-го

кластеры файла с 10 по 16-й нигде не хранятся

кластеры файла с 17 по 18-й хранятся в кластерах диска начиная с 409-го

кластеры файла с 19 по 36-й нигде не хранятся

какую структуру имеет файловая система ntfs. картинка какую структуру имеет файловая система ntfs. какую структуру имеет файловая система ntfs фото. какую структуру имеет файловая система ntfs видео. какую структуру имеет файловая система ntfs смотреть картинку онлайн. смотреть картинку какую структуру имеет файловая система ntfs.

Видно, что сжатый файл имеет «виртуальные» кластеры, реальной информации в которых нет. Как только система видит такие виртуальные кластеры, она тут же понимает, что данные предыдущего блока, кратного 16-ти, должны быть разжаты, а получившиеся данные как раз заполнят виртуальные кластеры — вот, по сути, и весь алгоритм.

Безопасность

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

Права файловой системы NTFS неразрывно связаны с самой системой — то есть они, вообще говоря, необязательны к соблюдению другой системой, если ей дать физический доступ к диску. Для предотвращения физического доступа в Windows2000 (NT5) всё же ввели стандартную возможность — об этом см. ниже. Система прав в своем текущем состоянии достаточно сложна, и я сомневаюсь, что смогу сказать широкому читателю что-нибудь интересное и полезное ему в обычной жизни. Если вас интересует эта тема — вы найдете множество книг по сетевой архитектуре NT, в которых это описано более чем подробно.

На этом описание строение файловой системы можно закончить, осталось описать лишь некоторое количество просто практичных или оригинальных вещей.

Hard Links

Эта штука была в NTFS с незапамятных времен, но использовалась очень редко — и тем не менее: Hard Link — это когда один и тот же файл имеет два имени (несколько указателей файла-каталога или разных каталогов указывают на одну и ту же MFT запись). Допустим, один и тот же файл имеет имена 1.txt и 2.txt: если пользователь сотрет файл 1, останется файл 2. Если сотрет 2 — останется файл 1, то есть оба имени, с момента создания, совершенно равноправны. Файл физически стирается лишь тогда, когда будет удалено его последнее имя.

Symbolic Links (NT5)

Гораздо более практичная возможность, позволяющая делать виртуальные каталоги — ровно так же, как и виртуальные диски командой subst в DOSе. Применения достаточно разнообразны: во-первых, упрощение системы каталогов. Если вам не нравится каталог Documents and settingsAdministratorDocuments, вы можете прилинковать его в корневой каталог — система будет по прежнему общаться с каталогом с дремучим путем, а вы — с гораздо более коротким именем, полностью ему эквивалентным. Для создания таких связей можно воспользоваться программой junction (junction.zip, 15 Кб), которую написал известный специалист Mark Russinovich. Программа работает только в NT5 (Windows 2000), как и сама возможность.

Для удаления связи можно воспользоваться стандартной командой rd.
ВНИМАНИЕ: Попытка уделения связи с помощью проводника или других файловых менеджеров, не понимающих виртуальную природу каталога (например, FAR), приведет к удалению данных, на которые ссылается ссылка! Будьте осторожны.

Шифрование (NT5)

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

Вернемся к одному достаточно интересному и важному моменту — фрагментации и дефрагментации NTFS. Дело в том, что ситуация, сложившаяся с этими двумя понятиями в настоящий момент, никак не может быть названа удовлетворительной. В самом начале утверждалось, что NTFS не подвержена фрагментации файлов. Это оказалось не совсем так, и утверждение сменили — NTFS препятствует фрагментации. Оказалось, что и это не совсем так. То есть она, конечно, препятствует, но толк от этого близок к нулю… Сейчас уже понятно, что NTFS — система, которая как никакая другая предрасположена к фрагментации, что бы ни утверждалось официально. Единственное что — логически она не очень от этого страдает. Все внутренние структуры построены таким образом, что фрагментация не мешает быстро находить фрагменты данных. Но от физического последствия фрагментации — лишних движений головок — она, конечно, не спасает. И поэтому — вперед и с песней.

К истокам проблемы

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

Диск NTFS поделен на две зоны. В начала диска идет MFT зона — зона, куда растет MFT, Master File Table. Зона занимает минимум 12% диска, и запись данных в эту зону невозможна. Это сделано для того, чтобы не фрагментировался хотя бы MFT. Но когда весь остальной диск заполняется — зона сокращается ровно в два раза :). И так далее. Таким образом мы имеем не один заход окончания диска, а несколько. В результате если NTFS работает при диске, заполненном на около 90% — фрагментация растет как бешенная.

Попутное следствие — диск, заполненный более чем на 88%, дефрагментировать почти невозможно — даже API дефрагментации не может перемещать данные в MFT зону. Может оказаться так, что у нас не будет свободного места для маневра.

Далее. NTFS работает себе и работает, и всё таки фрагментируется — даже в том случае, если свободное место далеко от истощения. Этому способствует странный алгоритм нахождения свободного места для записи файлов — второе серьезное упущение. Алгоритм действий при любой записи такой: берется какой-то определенный объем диска и заполняется файлом до упора. Причем по очень интересному алгоритму: сначала заполняются большие дырки, потом маленькие. Т.е. типичное распределение фрагментов файла по размеру на фрагментированной NTFS выглядит так (размеры фрагментов):

Так процесс идет до самых мелких дырок в 1 кластер, несмотря на то, что на диске наверняка есть и гораздо более большие куски свободного места.

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

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

Средства решения?

«Временно занятое место» служит для облегчения восстановления системы в случае аппаратного сбоя и освобождается через некоторое время, обычно где-то пол минуты.

Допустим, мы хотим положить файлы подряд в начало диска. Кладем один файл. Он оставляет хвост занятости дополнения до кратности 16. Кладем следующий — после хвоста, естественно. Через некоторое время, по освобождению хвоста, имеем дырку

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *