Для чего используется таблица размещения файлов fat
В этой статье объясняются различия между таблицей распределения файлов (FAT), Высокопрофилковой файловой системой (HPFS) и файловой системой NT (NTFS) в Windows NT и их преимуществами и недостатками.
Применяется к: Windows 10 — все выпуски, Windows Server 2012 R2
Исходный номер КБ: 100108
HPFS поддерживается только в Windows NT версиях 3.1, 3.5 и 3.51. Windows NT 4.0 не поддерживает и не может получить доступ к разделам HPFS. Кроме того, поддержка файловой системы FAT32 стала доступна в Windows 98/Windows OSR2 и Windows 2000.
Обзор FAT
FAT является наиболее упрощенным из файловых систем, поддерживаемых Windows NT. Файловая система FAT характеризуется таблицей распределения файлов (FAT), которая на самом деле является таблицей, которая находится в самом "верху" тома. Чтобы защитить том, в случае повреждения одной из них хранятся две копии FAT. Кроме того, таблицы FAT и корневой каталог должны храниться в фиксированном расположении, чтобы правильно располагать файлы загрузки системы.
Диск, отформатированный с помощью FAT, выделяется в кластерах, размер которых определяется размером тома. Когда создается файл, в каталоге создается запись и устанавливается первый номер кластера, содержащий данные. Эта запись в таблице FAT указывает на то, что это последний кластер файла, или указывает на следующий кластер.
Обновление таблицы FAT очень важно, а также отнимает много времени. Если таблица FAT регулярно не обновляется, это может привести к потере данных. Это отнимает много времени, так как при каждом обновлении таблицы FAT необходимо переместить головки чтения диска в логическую нулевую дорожку диска.
В структуре каталогов FAT нет организации, и файлам предоставляется первое открытое расположение на диске. Кроме того, FAT поддерживает только атрибуты файлов для чтения, скрытых, системных и архивных файлов.
Конвенция о наименовании FAT
FAT использует традиционную конвенцию именования файлов 8.3, и все имена файлов должны быть созданы с набором символов ASCII. Имя файла или каталога может быть длиной до восьми символов, затем период (.) сепаратором и до трех символов. Имя должно начинаться с буквы или номера и может содержать любые символы, за исключением следующих:
Если какой-либо из этих символов используется, могут возникать неожиданные результаты. Имя не может содержать пробелы.
Зарезервированы следующие имена:
CON, AUX, COM1, COM2, COM3, COM4, LPT1, LPT2, LPT3, PRN, NUL
Все символы будут преобразованы в верхний шкаф.
Преимущества FAT
Невозможно выполнить недоделку под Windows NT в любой из поддерживаемых файловых систем. Undelete utilities try to directly access the hardware, which cannot be done under Windows NT. Однако, если файл находился на разделе FAT и система перезапущена в MS-DOS, файл может быть незаверяем. Файловая система FAT лучше всего работает для дисков и/или разделов примерно в 200 МБ, так как FAT начинается с очень мало накладных расходов. Дополнительные вопросы о преимуществах FAT см. в следующих ниже.
Windows NT Server "Concepts and Planning Guide", Chapter 5, section titled "Choosing a File System"
Windows NT Набор ресурсов workstation 4.0, глава 18, "Выбор файловой системы"
Windows NT Набор ресурсов server 4.0 "Руководство по ресурсам", глава 3, раздел под названием "Какая файловая система будет использовать в каких томах"
Недостатки FAT
Желательно, чтобы при использовании дисков или разделов более 200 МБ файловая система FAT не должна использоваться. Это потому, что по мере увеличения размера тома производительность с FAT быстро снижается. Невозможно установить разрешения на файлы, которые являются разделами FAT.
Разделы FAT ограничены размером не более 4 гигабайт (ГБ) под Windows NT и 2 ГБ в MS-DOS.
Дополнительные обсуждения других недостатков FAT см. в следующем примере:
Windows NT Server "Concepts and Planning Guide", Chapter 5, section titled "Choosing a File System"
Windows NT Набор ресурсов workstation 4.0, глава 18, "Выбор файловой системы"
Microsoft Windows NT Server 4.0 Набор ресурсов "Руководство по ресурсам", глава 3, раздел под названием "Какая файловая система для использования в каких томах"
Обзор HPFS
Сначала файловая система HPFS была представлена с ОС/2 1.2, чтобы обеспечить больший доступ к более крупным жестким дискам, которые затем появились на рынке. Кроме того, новая файловая система должна была расширить систему именования, организации и безопасности для растущих требований рынка сетевых серверов. HPFS поддерживает организацию каталогов FAT, но добавляет автоматическую сортировку каталога на основе имен файлов. Имена файлов расширяются до 254 символов двойного byte. HpFS также позволяет файлу быть составленным из "данных" и специальных атрибутов, чтобы обеспечить повышенную гибкость с точки зрения поддержки других соглашений имен и безопасности. Кроме того, единица распределения меняется из кластеров в физические сектора (512 bytes), что уменьшает потерянное пространство диска.
В hpFS записи каталогов занимают больше информации, чем в fat. Как и файл атрибутов, это включает сведения об изменении, создании и дате и времени доступа. Вместо того, чтобы указать на первый кластер файла, записи каталога в HPFS указывают на FNODE. FNODE может содержать данные файла или указатели, которые могут указать на данные файла или другие структуры, которые в конечном итоге указывают на данные файла.
HPFS пытается выделить как можно больше файла в дополнительных секторах. Это делается для повышения скорости при последовательной обработке файла.
Кроме того, HPFS включает несколько уникальных объектов специальных данных:
Суперблок
Суперблок расположен в логическом секторе 16 и содержит указатель на FNODE корневого каталога. Одна из самых больших опасностей при использовании HPFS заключается в том, что если Суперблок потерян или поврежден из-за плохого сектора, содержимое раздела также не повреждено, даже если остальной диск в порядке. Можно восстановить данные на диске, скопив все на другой диск с хорошим сектором 16 и перестроив Super Block. Однако это очень сложная задача.
Запасной блок
Запасной блок расположен в логическом секторе 17 и содержит таблицу "горячие исправления" и блок запасных каталогов. В HPFS при обнаружении плохого сектора запись "горячие исправления" используется для логического указать на существующий хороший сектор на месте плохого сектора. Этот метод для обработки ошибок записи известен как горячее исправление.
Версия HPFS, включенная в Windows NT, не поддерживает горячее исправление.
Преимущества HPFS
HPFS лучше всего для дисков в диапазоне 200-400 МБ. Дополнительные вопросы о преимуществах HPFS см. в следующих ниже.
Windows NT Server "Concepts and Planning Guide", Chapter 5, section titled "Choosing a File System"
Windows NT Набор ресурсов workstation 4.0, глава 18, "Выбор файловой системы"
Windows NT Набор ресурсов server 4.0 "Руководство по ресурсам", глава 3, раздел под названием "Какая файловая система будет использовать в каких томах"
Недостатки HPFS
Из-за накладных расходов, задействованных в HPFS, это не очень эффективный выбор для объема менее 200 МБ. Кроме того, с объемами более 400 МБ, будет некоторое ухудшение производительности. Невозможно установить безопасность в HPFS в соответствии с Windows NT.
HPFS поддерживается только в Windows NT версиях 3.1, 3.5 и 3.51. Windows NT 4.0 не может получить доступ к разделам HPFS.
Дополнительные недостатки HPFS см. в следующих ниже.
Windows NT Server "Concepts and Planning Guide", Chapter 5, section titled "Choosing a File System"
Windows NT Набор ресурсов workstation 4.0, глава 18, "Выбор файловой системы"
Windows NT Набор ресурсов server 4.0 "Руководство по ресурсам", глава 3, раздел под названием "Какая файловая система будет использовать в каких томах"
Обзор NTFS
С точки зрения пользователя NTFS продолжает организовывать файлы в каталоги, которые, как и HPFS, сортироваться. Однако, в отличие от FAT или HPFS, на диске нет "специальных" объектов и нет зависимости от оборудования, такого как сектора 512-byte. Кроме того, на диске нет специальных местоположений, таких как таблицы FAT или суперблоки HPFS.
Надежность, что особенно желательно для высококлассных систем и файловых серверов
Платформа для добавленных функциональных возможностей
Поддержка требований POSIX
Удаление ограничений файловой системы FAT и HPFS
Надежность
Для обеспечения надежности NTFS были рассмотрены три основные области: возможность восстановления, устранение сбоев в одном секторе со смертельным исходом и горячее исправление.
NTFS — это восстанавливаемая файловая система, так как отслеживает транзакции в файловой системе. При выполнении CHKDSK в FAT или HPFS проверяется согласованность указателей в каталоге, распределении и таблицах файлов. В NTFS ведется журнал транзакций с этими компонентами, чтобы CHKDSK возвращал транзакции только до последней точки фиксации, чтобы восстановить согласованность в файловой системе.
В fat или HPFS, если сектор, на который расположен один из специальных объектов файловой системы, не удается, произойдет сбой в одном секторе. NTFS избегает этого двумя способами: во-первых, не используя специальные объекты на диске и отслеживая и защищая все объекты, которые находятся на диске. Во-вторых, в NTFS хранятся несколько копий (число зависит от размера тома) таблицы master File Table.
Как и версии HPFS для ОС/2, NTFS поддерживает горячее исправление.
Добавлены функциональные возможности
Одной из главных задач разработки Windows NT на каждом уровне является предоставление платформы, которая может быть добавлена и построена, и NTFS не является исключением. NTFS предоставляет богатую и гибкую платформу для использования других файловой системы. Кроме того, NTFS полностью поддерживает Windows NT безопасности и поддерживает несколько потоков данных. Файл данных больше не является единым потоком данных. Наконец, в соответствии с NTFS пользователь может добавить в файл свои собственные атрибуты, определенные пользователем.
Поддержка POSIX
NTFS является наиболее совместимым с POSIX.1 поддерживаемых файловых систем, так как поддерживает следующие требования POSIX.1:
Имя, чувствительное к делу:
В POSIX README.TXT, Readme.txt и readme.txt все файлы.
Дополнительный штамп времени:
Дополнительный штамп времени обеспечивает время последнего доступа к файлу.
Твердая ссылка — это когда два разных файла, которые могут располагаться в разных каталогах, указывают на одинаковые данные.
Удаление ограничений
Во-первых, NTFS значительно увеличил размер файлов и томов, так что теперь они могут быть до 2^64 bytes (16 exabytes или 18,446,744,073,709,551,616 bytes). NTFS также возвращается к концепции кластеров FAT, чтобы избежать проблемы HPFS фиксированного размера сектора. Это было сделано, Windows NT является портативной операционной системой, и в какой-то момент может возникнуть другая технология диска. Таким образом, 512 bytes в секторе рассматривается как имеющие большую возможность не всегда хорошо подходят для выделения. Это было сделано путем определения кластера как нескольких размеров естественного распределения оборудования. Наконец, в NTFS все имена файлов основаны на Юникоде, а имена 8.3 хранятся вместе с длинными именами файлов.
Преимущества NTFS
NTFS лучше всего использовать для объемов около 400 МБ или более. Это происходит потому, что производительность не снижается в соответствии с NTFS, как это делается в fat, с большими размерами тома.
Возможность восстановления, разработанная в NTFS, такова, что пользователю никогда не нужно запускать какую-либо утилиту восстановления диска на разделе NTFS. Дополнительные преимущества NTFS см. в следующих ниже.
Windows NT Server "Concepts and Planning Guide", Chapter 5, section titled "Choosing a File System"
Windows NT Набор ресурсов workstation 4.0, глава 18, "Выбор файловой системы"
Windows NT Набор ресурсов server 4.0 "Руководство по ресурсам", глава 3, раздел под названием "Какая файловая система будет использовать в каких томах"
Недостатки NTFS
Не рекомендуется использовать NTFS в томе, который меньше 400 МБ, из-за количества накладных расходов на NTFS. Это пространство в виде системных файлов NTFS, которые обычно используют не менее 4 МБ дискового пространства на разделе 100-МБ.
В настоящее время шифрование файлов не встроено в NTFS. Таким образом, кто-то может загрузиться в MS-DOS или другую операционную систему и использовать утилиту редактирования дисков низкого уровня для просмотра данных, хранимых в томе NTFS.
Невозможно форматирование дискетного диска с файловой системой NTFS; Windows NT форматы всех дискетных дисков с файловой системой FAT, так как накладные расходы, связанные с NTFS, не будут соответствовать дискетным дискам.
Дополнительные обсуждения недостатков NTFS см. в следующих ниже.
Windows NT Server "Concepts and Planning Guide", Chapter 5, section titled "Choosing a File System"
Windows NT Набор ресурсов workstation 4.0, глава 18, "Выбор файловой системы"
Windows NT Набор ресурсов server 4.0 "Руководство по ресурсам", глава 3, раздел под названием "Какая файловая система будет использовать в каких томах"
Конвенции о переименовании NTFS
Имена файлов и каталогов могут быть длиной до 255 символов, включая все расширения. Имена сохраняют случай, но не являются чувствительными к делу. NTFS не проводит различий между именами файлов в зависимости от случая. Имена могут содержать любые символы, за исключением следующих:
В настоящее время из командной строки можно создавать только имена файлов до 253 символов.
В зависимости от оборудования ограничения могут накладывать дополнительные ограничения размера разделов в любой файловой системе. В частности, раздел загрузки может быть размером всего 7,8 ГБ, а в таблице разделов имеется ограничение в 2 терабайта.
Дополнительные сведения о поддерживаемых файловых системах для Windows NT см. в Windows NT Набор ресурсов.
Таблица размещения файлов (FAT) — это файловая система, созданная Microsoft в 1977 году и до сих пор используемая в настоящее время в качестве предпочтительной файловой системы для дисководов гибких дисков и портативных накопителей большой емкости, таких как флэш-накопители, и других твердотельных устройств памяти, таких как SD-карты.
Что такое файловая система FAT?
FAT была основной файловой системой, используемой во всех потребительских операционных системах Microsoft от MS-DOS до Windows ME. Хотя FAT по-прежнему поддерживается в более новых операционных системах Microsoft, NTFS является основной файловой системой, используемой в наши дни.
Файловая система таблицы размещения файлов претерпела изменения со временем, в основном из-за необходимости поддержки жестких дисков большего размера и файлов большего размера.
Давайте погрузимся в разные версии файловой системы FAT.
FAT12 (12-битная таблица размещения файлов)
Первая широко используемая версия файловой системы FAT, FAT12, была представлена в 1980 году вместе с первыми версиями DOS.
FAT12 была основной файловой системой для операционных систем Microsoft до MS-DOS 3.30, но также использовалась в большинстве систем до MS-DOS 4.0. FAT12 — все еще файловая система, используемая на случайной дискете, которую вы найдете сегодня.
FAT12 поддерживает размеры дисков и файлов до 16 МБ, используя кластеры 4 КБ, или 32 МБ, используя 8 КБ, с максимальным количеством 4084 файлов на одном томе (при использовании кластеров 8 КБ).
Имена файлов в FAT12 не могут превышать максимальный предел в 8 символов, плюс 3 для расширения .
FAT8, представленная в 1977 году, была первой верной версией файловой системы FAT, но имела ограниченное использование и только в некоторых компьютерных системах того времени.
FAT16 (16-битная таблица размещения файлов)
Второй реализацией FAT была FAT16, впервые представленная в 1984 году в PC DOS 3.0 и MS-DOS 3.0.
Чуть более улучшенная версия FAT16, названная FAT16B, была основной файловой системой для MS-DOS 4.0 до MS-DOS 6.22. Начиная с MS-DOS 7.0 и Windows 95, вместо этого использовалась еще более улучшенная версия, называемая FAT16X.
В зависимости от операционной системы и размера используемого кластера максимальный размер диска в формате FAT16 может варьироваться от 2 ГБ до 16 ГБ, последний только в Windows NT 4 с кластерами 256 КБ.
Максимальный размер файлов на дисках FAT16 составляет 4 ГБ с включенной поддержкой больших файлов , или 2 ГБ без нее.
Максимальное количество файлов, которое может храниться на томе FAT16, составляет 65 536. Как и в FAT12, имена файлов были ограничены 8 + 3 символами, но были расширены до 255 символов, начиная с Windows 95.
FAT32 (32-битная таблица размещения файлов)
FAT32 — это последняя версия файловой системы FAT. Он был представлен в 1996 году для пользователей Windows 95 OSR2 / MS-DOS 7.1 и был основной файловой системой для потребительских версий Windows через Windows ME.
FAT32 поддерживает базовые размеры дисков до 2 ТБ или даже до 16 ТБ с кластерами 64 КБ.
Как и в FAT16, размер файлов на дисках FAT32 максимально равен 4 ГБ при включенной поддержке больших файлов или 2 ГБ без нее. Модифицированная версия FAT32, называемая FAT32 + , поддерживает файлы размером до 256 ГБ!
На томе FAT32 может содержаться до 268 173 300 файлов, если он использует кластеры 32 КБ.
exFAT (расширенная таблица размещения файлов)
exFAT, впервые представленная в 2006 году, является еще одной файловой системой, созданной Microsoft, хотя это не «следующая» версия FAT после FAT32.
exFAT в первую очередь предназначен для использования на портативных мультимедийных устройствах, таких как флэш-накопители, SDHC и SDXC-карты и т. д.
Официально exFAT поддерживает портативные устройства хранения данных размером до 512 ТиБ, но теоретически может поддерживать накопители до 64 ZiB, что значительно больше, чем у любого носителя, доступного на момент написания статьи.
Встроенная поддержка имен файлов из 255 символов и поддержка до 2796202 файлов в каталоге — это две примечательные особенности системы exFAT.
Файловая система exFAT поддерживается практически всеми версиями Windows (более старые с дополнительными обновлениями), Mac OS X (10.6.5+), а также на многих телевизорах, носителях и других устройствах.
Перемещение файлов из NTFS в FAT системы
Шифрование файлов, сжатие файлов , права доступа к объектам, дисковые квоты и атрибут индексированного файла доступны только в файловой системе NTFS, но не в FAT . Другие атрибуты, такие как общие, упомянутые в обсуждениях выше, также доступны в NTFS.
Учитывая их различия, если вы помещаете зашифрованный файл с тома NTFS в пространство, отформатированное в FAT, файл теряет свой статус шифрования, что означает, что файл можно использовать как обычный незашифрованный файл. Расшифровка файла таким способом возможна только для первоначального пользователя, который зашифровал файл, или для любого другого пользователя, которому было предоставлено разрешение от первоначального владельца.
Подобно зашифрованным файлам, поскольку FAT не поддерживает сжатие, сжатый файл автоматически распаковывается, если он копируется из тома NTFS на том FAT. Например, если вы скопируете сжатый файл с жесткого диска NTFS на дискету FAT, файл будет автоматически распакован перед сохранением на дискету, поскольку файловая система FAT на целевом носителе не имеет возможности хранить сжатые файлы ,
Расширенное чтение на FAT
Хотя это далеко выходит за рамки основного обсуждения FAT, но если вам интересно узнать, как структурированы диски в формате FAT12, FAT16 и FAT32, ознакомьтесь с Файловыми системами FAT от Andries E. Brouwer.
Форматирование флешки или системного накопителя — стандартная задача компьютерного пользователя. В современных операционных системах процесс сильно упрощен, поэтому справится даже новичок. Система самостоятельно определяет, какие настройки подходят определенному устройству и какую файловую систему выбрать при форматировании. Так, Windows форматирует системные накопители в NTFS, а флешки превращает в FAT32. Почему так происходит? Чем отличаются эти файловые системы и вообще, зачем диску нужен «формат»?
Если говорить простым языком, то компьютерный накопитель — это подобие библиотеки, в которой хранятся тысячи книг. Библиотека может быть устроена в виде небольшого стеллажа или многоэтажной полки с лестницей, а также в виде кластеров — огромных помещений с десятками шкафов и сотнями полок. Чтобы найти в таком масштабе интересующую книгу, необходимо ориентироваться по условным опознавательным знакам, буквам или цифрам.
Например, мы посетили библиотеку в поисках произведения «Таинственный остров». По просьбе читателя библиотекарь обращается к каталогу, ищет отдел, в котором хранятся книги с названиями, начинающимися на букву «Т», затем находит шкаф, полку и место, где хранится интересующее читателя издание. Пользуясь такой системой, библиотекарь найдет книгу за считанные секунды, гораздо дольше ему придется доставать и нести ее читателю через весь зал. Аналогично работает и файловая система в накопителе.
Теперь представим, что из библиотеки вывезли все шкафы и полки, а книги теперь лежат на столах, стульях, полу и подоконниках. Произведение Жюля Верна будет практически невозможно найти среди тысяч печатных экземпляров: оно может находиться в любом месте, так как книги разбросаны в неизвестном порядке. При этом, несмотря на беспорядок, библиотека все-таки выполняет свою основную задачу — она хранит книги. Но практической пользы от этого мало: в системе хранения нарушены структура и каталогизация. То же самое происходит, если накопитель лишен какой-либо файловой системы.
Что такое файловая система
Итак, файловая система компьютерного накопителя — это способ организации и хранения файлов на винчестерах, флешках или даже в облаке. И, если диск — это массив кластеров, то файловая система — это инструкция по заполнению этих кластеров информацией.
Например, записывая фотографию на обычный винчестер, компьютер разбивает файл на части. Каждому кусочку файла соответствует ячейка на поверхности магнитной пластины диска. При этом, если любая программа обратится к нужному файлу, то ни она, ни диск не будут знать, что это за файл, где он расположен, как он называется, сколько весит и какие ячейки занимает в накопителе. Единственное, что известно программе — это имя файла, его размер и другие атрибуты, которые она передает файловой системе как условный знак для поиска этого файла в ячейках.
Чтобы понять, кто за что отвечает и кем является, рассмотрим структуру на книгах и библиотеках. Так, в цепочке «пользователь-файл» есть несколько действующих лиц, без которых работа системы невозможна:
- Накопитель — это библиотека (как здание или организация).
- Пользователь — это читатель, который пришел в библиотеку за произведением Жюля Верна.
- Файл — это книга с понятным названием (атрибутом) или другим условным опознавательным знаком, например, упомянутый выше «Таинственный остров».
- Драйвер файловой системы — это библиотекарь, который выступает в роли посредника или проводника между читателем и книгой. Или между пользователем (компьютером, операционной системой) и файлом (ячейками с информацией в микросхемах памяти или на магнитных пластинах).
- Файловая система — порядок, в соответствии с которым в библиотеке расставлены книги, а также каталог, с помощью которого специалист находит книги. Системы бывают разные: книги можно расставить по росту, цвету обложки, жанру, году выпуска или названию в алфавитном порядке. На диске файловая система отвечает за организацию файлов.
Дисковая система — это тоже библиотека. Вместо больших помещений здесь используются компактные корпуса накопителей, а в качестве полок с книгами выступают микросхемы памяти в твердотельных накопителях или магнитные пластины классических винчестеров. Система каталогизации библиотеки — это файловая система компьютера. Как и способы сортировки книг в библиотеке, компьютерные файловые системы делятся на несколько типов. Самые распространенные среди компьютеров на ОС Windows — это NTFS и FAT32.
NTFS — New Technology File System
Мы разобрались, что такое файловая система и для чего она нужна компьютерным дискам. Основываясь на полученных примерах, можно легко разобраться в том, как работают разные файловые системы, и чем они отличаются. Например, NTFS.
NTFS — фирменная файловая система Microsoft, которую разработчики начали внедрять в операционную систему Windows, начиная с версии NT 3.1. Несмотря на байки о ненадежности и низкой отказоустойчивости этой системы, NTFS считается самым лучшим и удачным решением для работы актуальных операционных систем Windows. Конечно, как и любая другая система, NTFS не лишена недостатков — это слишком сложное устройство ФС, особенно по современным меркам. Ведь известно — чем сложнее устройство, тем больше в нем уязвимостей.
Структура и фрагментация
Файловая система NTFS делит пространство накопителя на кластеры — блоки, размером от 512 байт до 64 КБ. По умолчанию Windows делит блоки по 4 КБ каждый.
Способ организации файлового пространства на диске с NTFS подразумевает наличие специального раздела, в котором ФС хранит сервисные данные о своей работе. А именно, ведет некий каталог, в котором записываются различные данные о файлах и разделах. Это раздел MFT (Master File Table) — свободное пространство с метафайлом, под который система выделяет 12% от общего объема.
MFT является динамическим разделом — по мере накопления информации на диске, он может сокращаться, чтобы освободить место под пользовательские файлы. Однако при первом же свободном гигабайте на диске, раздел MFT снова заберет свое «законное» место, при этом новая часть метафайла может фрагментироваться и оказаться уже не в начале диска, а в конце или в середине. Отсюда существует распространенная проблема фрагментации файловой системы, когда части каталогов разбросаны по всему диску. Тогда, чтобы найти какой-либо файл, диск судорожно ищет их по всей поверхности, отсюда снижение скорости доступа и общей производительности компьютера. Фрагментация — не самая сильная сторона NTFS.
Файлы и каталоги
Организация данных в этой ФС имеет структуру бинарного дерева: каждый элемент в системе обрабатывается не иерархически, а через бинарные запросы. Например, чтобы найти файл с именем «К» среди тысячи других файлов, система делит каталог на две части и начинает поиск с середины. Например, узнает, в какой части необходимо искать данный файл, если за середину каталога принят файл с названием «Т»? В таком случае система ответит — ищите среди тех файлов, которые идут до файла с именем «Т». То есть, имея отсортированный по алфавиту каталог, система понимает, что файл с необходимым именем находится в одной из двух частей, и время на поиск файла сокращается в два раза — это улучшает скорость работы с мелкими одиночными файлами.
Все файлы в этой системе существуют в виде потоков. Фактически, для того, чтобы превратить блоки с данными в единый файл, этой ФС необходим только файл с метаданными. Это своего рода инструкция по сборке файлов из кусочков данных, которые хранятся в ячейках по всей поверхности накопителя. Благодаря гибкой файловой структуре, объекты NTFS могут принимать множество дополнительных свойств. Например, содержать в названии до 65535 различных символов Unicode. При этом максимальная длина имени файла достигает 255 символов.
Журналирование
Современные операционные системы работают на базе журналируемых файловых систем. Это необходимо для того, чтобы в случае системного сбоя и аварийного завершения работы (вынули вилку питания ПК из розетки) файловая система компьютера смогла восстановиться до последнего рабочего состояния без потери файлов.
В журналируемой файловой системе работа с данными происходит по принципу транзакций — действие совершается полностью или не совершается совсем. Например, при записи системного файла на диск, компьютер делает пометки в метафайл в разделе MTF и ведет мини-журнал процесса копирования до тех пор, пока файл полностью не запишется в необходимый раздел диска. Если устройство перезагрузится во время записи, то при следующем включении система обратится к журналу, узнает о совершенных и несовершенных транзакциях и оставит существовать только те, которые помечены как завершенные. Остальные транзакции будет вычеркнуты, а файлы удалены или возвращены на место.
Как правило, такая система работает наиболее эффективно только с системными файлами, тогда как пользовательские данные могут повредиться или исчезнуть при сбое. Работу журналирования можно проверить с помощью контрольных точек восстановления — компьютер периодически создает слепки состояния системы, по которым позже может восстановиться до этих состояний.
Шифрование
Для защиты данных на компьютере используется шифрование. Это не просто защита компьютера паролем, а также раздача прав для доступа к файлам, что довольно легко вскрыть, взломать и просто обойти с помощью общедоступных инструкций и софта.
Шифрование — это отдельная надстройка над файловой системой компьютера, которая позволяет закрыть пользовательские данные от посторонних глаз практически на аппаратном уровне. В таком случае защищенные файлы нельзя будет просмотреть на другом компьютере, а также после смены материнской платы или операционной системы. Это можно сделать с помощью NTFS — система создает ключи и сертификаты, актуальные только для той сборки и системы, на которой было подключено это шифрование.
Файловая система NTFS также отличается:
- Поддержкой больших томов и файлов — до 8 ПБ;
- Несколькими уровнями безопасности, в том числе, поддержкой шифрования;
- Распределением прав доступа к файлам;
- Возможностью сжатия;
- Поддержкой до 4 294 967 295 (232−1) файлов.
Вывод: система NTFS «заточена» под работу с операционной системой, а также для накопителей с большим объемом и несколькими разделами.
FAT32 — File Allocation Table
Обновленная файловая система пришла на смену устаревшей FAT16. Ее также разработали специалисты Microsoft, но, в отличие от NTFS, она распространяется в виде открытого исходного кода. Поэтому разработчики любого софта могут беспрепятственно компилировать и внедрять драйвер в свое ПО. Например, поддержка FAT32 есть не только в «родной» операционной системе, но и в любой другой — linux, MacOS, Android, даже в таких проприетарных системах, как iOS.
В ранних версиях ОС Windows файловая система FAT32 даже использовалась в качестве основной ФС для системного раздела. Но позже разработчики отказались от этого решения в пользу новой и прогрессивной NTFS. Впрочем, несмотря на некоторые особенности FAT32, эта ФС все еще повсеместно используется во флешках и картах памяти.
Проще некуда
Файловая система FAT32 — это автомат Калашникова. Она максимально упрощена:.Здесь нет продвинутых систем безопасности и шифрования, система не умеет журналировать свою работу. Это частично сказывается на производительности — в некоторых случаях скорость чтения или записи может быть выше, чем у более новой и сложной NTFS. Правда, это сильно зависит от условий работы — например, от количества обрабатываемых файлов. Так, работа с массивами мелких файлов может стать настоящим испытанием для накопителя, отформатированного в этой файловой системе.
Впрочем, такие задания редко выполняют на тех накопителях, которые используют FAT32. Обычно это внешние устройства с небольшим объемом. Более того, файловая система не умеет работать с объемными разделами. Например, штатные средства ОС Windows не позволяют создавать на диске с FAT32 разделы, объем которых превышает 32 ГБ. К этим недостаткам относятся и ограничения по максимальному размеру файла. Максимальный размер файла, который запоминает накопитель, составляет 4 ГБ.
Все это, конечно же, влияет на популярность файловой системы и ее удобство. Особенно заметны недостатки устаревшей системы стали после того, как почти у каждого пользователя в арсенале появились флешки с объемом от 64 ГБ — FAT32 такому устройству не к лицу.
Структура
Еще больше красок в устаревание вносит древняя структура: файлы в FAT32 хранятся иерархически, а не в виде бинарного дерева, где каждый отдельный объект может быть доступен независимо от остальных. Если бы такая система использовалась в обычной библиотеке, то поиск одной книги мог бы растянуться на несколько часов: чтобы найти книгу с буквой «Ц» в названии, библиотекарю придется достать все книги с полочек по очереди, начиная с экземпляров на «А», и только после этого взять нужную. Любопытно представить, как бы работала в таком режиме Научная библиотека МГУ, где на физических и виртуальных полках хранится более 10 миллионов экземпляров.
Несмотря на перечисленные особенности, FAT32 все еще неплохо справляется со своими задачами. Например, отсутствие журналирования идет на пользу накопителям, которые быстро изнашиваются от частых перезаписей ячеек. К тому же, работа с объемными файлами и разделами на обычной флешке мало кого интересует. Как правило, они «переносят» легковесные офисные файлы, фотографии, короткие видеоматериалы и установочные файлы программ. Вряд ли кто-то попытается загружать образ фильма в формате Blu-ray на флешку: для этого больше подойдет внешний жесткий диск или твердотельный накопитель с большим объемом.
Вывод: появление флешек с большим объемом внесло коррективы в существование FAT32. Однако на рынке все еще преобладают устройства с объемом не более 32 ГБ — этот формат FAT32 еще тянет.
Практичность превыше всего
Большая и сложная NTFS была разработана еще в 1990-х годах. Несмотря на это, файловая система здравствует до сих пор и спокойно переваривает все современные ОС от Microsoft. Конечно, фирменная технология из Редмонда не панацея: если отказаться от «окон» на компьютере, то и NTFS сразу станет ненужной. Правда, для этого придется смириться с Linux на борту или же переехать на платформу Apple — там, между прочим, используется совсем новая APFS, которую яблочные разработчики представили всего несколько лет назад.
Что касается неоднозначной ситуации с FAT32, то, скорее всего, файловая система уже находится на закате популярности. Специалисты пытаются заменить неактуальную файловую систему более удобными и гибкими EXT. Эти системы имеют открытый исходный код и используются в Unix подобных ОС. Драйверы для этих файловых систем легко портируются под любые операционные системы, поэтому такой накопитель поддерживается даже в актуальной Windows 10, достаточно установить распространенный пакет драйверов.
Вывод: если выбирать файловую систему, то лучше ориентироваться на практичность. Для серьезных задач и под системные нужды обязательно выделять накопитель с NTFS на борту. В то же время, для флешки с маленьким объемом будет достаточно и FAT32 — эта ФС широко поддерживается всеми возможными устройствами. Если же пользователь ставит повышенные требования к системе хранения и обработке файлов — добро пожаловать в мир ZFS.
Это целая система внутри системы, где организация файлов в дисковом пространстве происходит по другим законам. Например, при записи информации, ZFS пишет новые данные в новые блоки, а старые оставляет «жить» до того момента, пока не подтвердит, что свежие данные записаны и готовы к работе. Это необходимо для платформ с уклоном в отказоустойчивость, хотя вряд ли пригодится домашнему юзеру. Чтобы файловая система работала как надо, необходимо иметь двойной запас свободного места на диске: для старых данных и следующего потока новых данных. Поэтому ZFS чаще используют в системах хранения данных с большим объемом. Но это уже совсем другая история.
FAT по-прежнему используется сегодня в качестве предпочтительной файловой системы для дисководов гибких дисков и портативных накопителей большой емкости, таких как флэш-накопители и другие твердотельные устройства памяти, такие как SD-карты.
FAT была основной файловой системой, используемой во всех потребительских операционных системах Microsoft от MS-DOS до Windows ME. Хотя FAT по-прежнему поддерживается в более новых операционных системах Microsoft, NTFS является основной файловой системой, используемой в наши дни.
Файловая система таблицы размещения файлов с течением времени претерпела изменения, в основном из-за необходимости поддерживать большие жесткие диски и файлы большего размера.
Вот еще много о различных версиях файловой системы FAT:
FAT12 (12-битная таблица размещения файлов)
Первая широко используемая версия файловой системы FAT, FAT12, была представлена в 1980 году вместе с первыми версиями DOS.
FAT12 поддерживает размеры дисков и файлов до 16 МБ при использовании кластеров 4 КБ или 32 МБ при использовании 8 КБ, с максимальным количеством 4084 файлов на одном томе (при использовании кластеров 8 КБ).
Имена файлов в FAT12 не могут превышать максимальный предел в 8 символов, плюс 3 для расширения.
Ряд атрибутов файла был впервые введен в FAT12, включая скрытый, только для чтения, системный и метку тома.
FAT8, представленная в 1977 году, была первой верной версией файловой системы FAT, но имела ограниченное использование и только в некоторых компьютерных системах того времени.
FAT16 (16-битная таблица размещения файлов)
Второй реализацией FAT была FAT16, впервые представленная в 1984 году в PC DOS 3.0 и MS-DOS 3.0.
Чуть более улучшенная версия FAT16, названная FAT16B, была основной файловой системой для MS-DOS 4.0 до MS-DOS 6.22. Начиная с MS-DOS 7.0 и Windows 95, вместо этого использовалась еще более улучшенная версия, называемая FAT16X.
В зависимости от операционной системы и размера используемого кластера максимальный размер диска в формате FAT16 может варьироваться от 2 ГБ до 16 ГБ, последний только в Windows NT 4 с кластерами 256 КБ.
Максимальный размер файлов на дисках FAT16 составляет 4 ГБ с включенной поддержкой Поддержка больших файлов или 2 ГБ без нее.
Максимальное количество файлов, которое может храниться на томе FAT16, составляет 65 536. Как и в FAT12, имена файлов были ограничены 8 + 3 символами, но были расширены до 255 символов, начиная с Windows 95.
Атрибут файла архива был введен в FAT16.
FAT32 (32-битная таблица размещения файлов)
FAT32 поддерживает базовые диски размером до 2 ТБ или даже до 16 ТБ с кластерами 64 КБ.
Как и в FAT16, размер файлов на дисках FAT32 максимально равен 4 ГБ при включенной Поддержка больших файлов или 2 ГБ без нее. Модифицированная версия FAT32, названная FAT32 + , поддерживает файлы размером около 256 ГБ!
На томе FAT32 может содержаться до 268 173 300 файлов, если он использует кластеры 32 КБ.
exFAT (расширенная таблица размещения файлов)
exFAT, впервые представленная в 2006 году, является еще одной файловой системой, созданной Microsoft, хотя это не «следующая» версия FAT после FAT32.
exFAT в первую очередь предназначен для использования на портативных мультимедийных устройствах, таких как флэш-накопители, SDHC и SDXC-карты и т. д.
Официально exFAT поддерживает портативные носители до 512 ТБ, но теоретически может поддерживать накопители до 64 ZiB, что значительно больше, чем любой носитель, доступный на момент написания статьи.
Файловая система exFAT поддерживается практически всеми версиями Windows (более старые с дополнительными обновлениями), Mac OS X (10.6.5+), а также на многих телевизорах, носителях и других устройствах.
Перемещение файлов из NTFS в FAT системы
Учитывая их различия, если вы поместите зашифрованный файл с тома NTFS в пространство, отформатированное в FAT, файл потеряет свой статус шифрования, что означает, что файл можно использовать как обычный незашифрованный файл. Расшифровка файла таким способом возможна только для первоначального пользователя, который зашифровал файл, или для любого другого пользователя, которому было предоставлено разрешение от первоначального владельца.
Подобно зашифрованным файлам, поскольку FAT не поддерживает сжатие, сжатый файл автоматически распаковывается, если он копируется из тома NTFS на том FAT. Например, если вы скопируете сжатый файл с жесткого диска NTFS на дискету FAT, файл будет автоматически распакован перед сохранением на дискету, поскольку файловая система FAT на целевом носителе не имеет возможности хранить сжатые файлы. ,
Расширенное чтение на FAT
Хотя это далеко выходит за рамки основного обсуждения FAT, но если вам интересно узнать, как структурированы диски в формате FAT12, FAT16 и FAT32, ознакомьтесь с Файловыми системами FAT от Andries E. Brouwer.
Содержание
Версии системы FAT [ ]
Структура системы FAT [ ]
Пространство тома FAT32 логически разделено на три смежные области:
Первая структура тома FAT называется BPB ( Шаблон:Lang-en ) и расположена в зарезервированной области, в нулевом секторе. Эта структура содержит информацию, идентифицирующую тип файловой системы и физические характеристики носителя (дискеты или раздела на жёстком диске).
BIOS Parameter Block [ ]
Шаблон:Main BPB, в принципе, отсутствовал в FAT, обслуживавшей MS-DOS 1.x, так как в то время предполагалось лишь два различных типа тома — одно- и двусторонние пятидюймовые дискеты на 360 кб, причём формат тома определялся по первому байту области FAT. BPB был введен в MS-DOS 2.x в начале 1983 года как обязательная структура загрузочного сектора, по которой впредь следовало определять формат тома; старая схема определения по первому байту FAT лишилась поддержки. Также в MS-DOS 2.0 была введена иерархия файлов и папок (до этого все файлы хранились в корневом каталоге).
Следующая модификация BPB появилась вместе с Windows 95 OSR2, в которой была введена FAT32 (в августе 1996 года). Было снято ограничение в 2 Тб на размер тома, том FAT32 теоретически может иметь размер до 8 Тб. Впрочем, размер каждого отдельного файла при этом не может превышать 4 Гб. BIOS Parameter Block FAT32 в целях совместимости с ранними версиями FAT повторяет BPB FAT16 вплоть до поля BPB_TotSec32 включительно, далее следуют различия.
«Загрузочный сектор» FAT32 в действительности представляет собой три 512-байтных сектора — сектора 0, 1 и 2. Каждый из них содержит FSInfo [ ]
Загрузочная запись раздела FAT32 содержит структуру под названием FSInfo, используемую для хранения значения числа свободных кластеров тома. FSInfo, как правило, занимает сектор 1 (см. поле BPB_FSInfo) и имеет следующую структуру (адреса относительно начала сектора):
Смысл введения FSInfo в оптимизации работы системы, так как в FAT32 таблица индексных указателей может иметь значительные размеры и её побайтовый просмотр может занять значительное время. Однако значения полей FSI_Free_Count и FSI_Nxt_Free могут не соответствовать действительности и должны проверяться на адекватность. Кроме того, они даже не обновляются в резервной копии FSInfo, расположенной, как правило, в секторе 7.
Определение типа FAT тома [ ]
Определение типа FAT тома (то есть выбор между FAT12, FAT16 и FAT32) производится ОС по количеству кластеров в томе, которое, в свою очередь, определяется из полей BPB. Прежде всего вычисляется количество секторов корневого каталога:
RootDirSectors = (BPB_RootEntCnt * 32) / BPB_BytsPerSec
Далее определяется, какие из полей BPB_FATSz16/32 и BPB_TotSec16/32 не равны нулю, и они используются при определении количества секторов области данных тома:
Наконец, определяется количество кластеров области данных:
CountofClusters = DataSec / BPB_SecPerClus
По количеству кластеров проводится однозначное соответствие с файловой системой:
Согласно официальной спецификации, это единственный допустимый способ определения типа FAT. Искусственное создание тома, нарушающего указанные правила соответствия, приведёт к его некорректной обработке Windows. Тем не менее, рекомендуется избегать значений CountofClusters, близких к критическим (4085 и 65525), для верного определения типа файловой системы любыми, часто некорректно написанными драйверами.
На дискете при Серийный номер тома [ ]
Серийный номер тома (поле BS_VolID) в Windows 98 создается из даты и времени форматирования таким образом, что восстановить их невозможно без дополнительной информации.
Таблица FAT [ ]
Кластеры 0 и 1 отражаются FAT особо. Индексный указатель, соответствующий нулевому кластеру (самый первый указатель таблицы FAT), содержит значение BPB_Media в нижних 8 битах; остальные биты устанавливаются в 1. Например, если BPB_Media = 0xF8 (жесткий диск), FAT[0] = 0x0FFFFFF8 для FAT32. Таким образом, формально FAT[0] = EOC, что используется при обработке файлов нулевого размера (см. далее).
Непосредственно после окончания последней таблицы FAT следует область данных, содержащая файлы и папки. Каталог FAT (папка, директория) является обычным файлом, помеченным специальным атрибутом. Данными (содержимым) такого файла в любой версии FAT является цепочка 32-байтных файловых записей (записей каталога). Каталог не может штатно содержать два файла с одинаковым именем. Если программа проверки диска обнаруживает искусственно созданную пару файлов с идентичным именем в одном каталоге, один из них переименовывается.
Корневой каталог [ ]
Единственным обязательно присутствующим каталогом является корневой каталог. В FAT12/FAT16 корневой каталог имеет фиксированный размер в секторах, который вычисляется из значения BPB_RootEntCnt, и следует на диске непосредственно после таблицы FAT.
В FAT32 корневой каталог, как и любой другой, имеет переменный размер и является цепочкой кластеров. Номер первого кластера корневого каталога отражается BPB_RootClus. Корневой каталог имеет следующие отличия от других каталогов тома FAT:
- у него нет меток даты и времени;
- нет собственного имени (кроме «\»);
- он не содержит файлов с именами «.» и «..» (см. далее);
- является единственным каталогом, в котором может штатно располагаться файл метки тома (см. далее).
Структура файловой записи [ ]
Расположение полей файловой записи
Файловая запись FAT32 состоит из следующих структур:
Если первый байт записи FAT (то есть DIR_Name[0]) содержит 0xE5 или 0x05, это значит, что запись свободна (соответствующий файл был удалён). Ноль в DIR_Name[0] означает, что свободна не только эта запись, но и все следующие записи каталога; Windows не анализирует остаток каталога после обнулённой записи.
Имя файла в FAT [ ]
Поле DIR_Name логически разбивается на первые 8 символов, образующие имя файла, и последние 3, образующие расширение. Точка-разделитель добавляется на уровне операционной системы и не хранится в поле имени. Если имя и расширение файла не заполняют отведённое для них место, остальные байты поля DIR_Name заполняются пробелами (0x20). Имя и расширение файла могут содержать любую комбинацию букв, цифр или символов с ASCII -кодами свыше 127; специальные символы распределяются на три группы:
Файловые атрибуты [ ]
Искусственное присвоение ненулевого значения верхним двум битам DIR_Attr используется для формирования файлов, которые невозможно удалить или переименовать штатными средствами файловой системы без форматирования. Это полезно, например, при борьбе с вирусами Autorun.inf (программа Panda USB and AutoRun Vaccine). С другой стороны, это же средство могут использовать сами вирусы. Значение DIR_Attr = 0x40 резервировано для внутреннего использования (устройство).
Что происходит при создании каталога [ ]
Время и дата [ ]
Двухбайтовая отметка даты имеет следующий формат:
Два байта, отвечающие отметке времени, распределяются так:
Из отметок даты и времени критическим является лишь время последней модификации (то есть DIR_WrtTime и DIR_WrtDate), остальные могут не поддерживаться многими системами; при операциях с файлом в такой системе (например, DOS или Windows 3.1) эти поля игнорируются. FAT сохраняет отметки даты и времени по местному часовому поясу, при его смене отметки не меняются.
Временные отметки каталогов задаются при создании и не изменяются при записи новых файлов в каталог, переименовании или выделении ему нового кластера.
Дата-время модификации файла изменяется при каждой записи нового содержимого в области данных (не в файловой записи). Другими словами, дата-время модификации не изменяется при смене атрибутов или переименовании файла. Перемещение или копирование файла сохраняет исходную отметку модификации.
Дата и время создания задается при выделении файловой записи для нового, не существовавшего до этого файла. Иначе говоря, при переименовании или перемещении файла дата и время создания не изменяется, а при копировании новый файл получает новую отметку. Таким образом, при копировании файла в Windows файл может получить более позднюю дату создания, чем дату модификации.
LFN-записи [ ]
Файлы и каталоги с длинным именем (свыше 8.3) обрабатываются файловой системой FAT особым образом. Структура 32-байтной записи для файла с LFN (Long File Name) отличается от обычной (SFN-записи):
- LDIR_Ord. Первый байт записи, служит для нумерации записей в наборе.
- LDIR_Name1. Десятибайтовое поле по адресу 0х01, содержит первые пять символов имени файла (вернее, той части его имени, которая отражена в данной LFN-записи).
- LDIR_Attr. Байт атрибута по адресу 0х0B, равен 0х0F (ATTR_LONG_NAME).
- LDIR_Type. Байт по адресу 0х0C, обнулен и дополнительно свидетельствует, что данная запись таблицы FAT относится к файлу с длинным именем.
- LDIR_Chksum. Байт по адресу 0х0D, содержит контрольную сумму SFN псевдонима файла, соответствующего набору LFN-записей.
- LDIR_Name2. 12-байтовое поле по адресу 0х0E, содержащее шестой-одиннадцатый символы имени файла.
- LDIR_FstClusLO. 2-байтовое поле по адресу 0х1A, в контексте LFN-записи лишено смысла и обнуляется.
- LDIR_Name3. 4-байтовое поле по адресу 0х1C, содержащее 12-й и 13-й символы имени файла.
Набор LFN-записей каталога FAT всегда должен быть связан с обычной SFN-записью, которой физически предшествует на диске. Набор LFN-записей, обнаруженный без соответствующей обычной записи, называется Смысл файловых операций в FAT [ ]
Отказоустойчивость системы [ ]
Поскольку система FAT хранит данные о файлах и данные о свободном месте на диске в одной таблице, то операция записи файла, традиционно состоящая из двух этапов (добавление занимаемого блока в перечень занятых и исключение этого же блока из списка свободных), происходит в FAT в одно действие. Благодаря этому система FAT обладает врождённой устойчивостью к сбоям, то есть сбой (например, питания) в момент выполнения операции чтения или записи в большинстве случаев не приведёт к разрушению файловой системы. Однако в данном случае речь идёт именно о целостности файловой системы, а не самих файлов.
Лицензирование [ ]
Майкрософт запатентовала некоторые алгоритмы работы с FAT и VFAT.
Читайте также: