Каталог расширений

Популярные теги

3gp       avi       fb2       jpg       mp3       pdf      

Таблица размещения файлов обозначается как


Обзор файловой системы FAT, HPFS и NTFS - Windows Client

  • Чтение занимает 10 мин

В этой статье

В этой статье поясняются различия между таблицой выделения файлов (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/95 и 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 "Основные понятия и руководство по планированию", глава 5, раздел "Выбор файловой системы"

  • Windows NT Workstation 4.0 Resource Kit, Chapter 18, "Choosing a File System"

  • Windows NT Server 4.0 Resource Kit "Resource Guide," Chapter 3, section titled "Which File System to Use on Which Volumes"

Недостатки FAT

Желательно, чтобы при использовании дисков или разделов размером более 200 МБ файловая система FAT не должна использоваться. Это потому, что по мере увеличения размера тома производительность FAT быстро снижается. Невозможно установить разрешения для файлов, которые являются разделами FAT.

Размер разделов FAT ограничен до 4 гигабайт (ГБ) в Windows NT и 2 ГБ в MS-DOS.

Дополнительные вопросы о других недостатках FAT см. в следующих темах:

  • Windows NT Server "Основные понятия и руководство по планированию", глава 5, раздел "Выбор файловой системы"

  • Windows NT Workstation 4.0 Resource Kit, Chapter 18, "Choosing a File System"

  • Microsoft Windows NT Server 4.0 Resource Kit "Resource Guide," Chapter 3, section titled "Which File System to Use on Which Volumes"

Обзор HPFS

Файловая система HPFS была впервые представлена в ОС/2 1.2, чтобы обеспечить более широкий доступ к более крупным жестким дискам, которые затем появились на рынке. Кроме того, новой файловой системе потребовалось расширить систему именования, организаций и безопасность для роста потребностей рынка сетевых серверов. HPFS поддерживает организацию каталогов FAT, но добавляет автоматическую сортировку каталога на основе имен файлов. Имена файлов могут быть расширены до 254 двухбайтных символов. HPFS также позволяет файлу состоять из "данных" и специальных атрибутов, чтобы обеспечить повышенную гибкость с точки зрения поддержки других соглашений об именах и безопасности. Кроме того, единица выделения меняется с кластеров на физические секторы (512 bytes), что сокращает объем потерянного места на диске.

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

HPFS пытается выделить как можно больше файлов в целых секторах. Это делается для повышения скорости при последовательной обработке файла.

HPFS упорядожит диск в серию диапазонов размером 8 МБ, и по возможности файл содержится в одном из этих диапазонов. Между этими диапазонами находятся растровые карты выделения 2K, которые отслеживают, какие секторы в диапазоне были выделены и не были выделены. Перевязка повышает производительность, так как загон диска не должен возвращаться в логическую верхнюю часть (как правило, 0) диска, но к ближайшему растрову выделения диапазонов, чтобы определить место хранения файла.

Кроме того, HPFS включает несколько уникальных объектов специальных данных:

Super Block

Super Block расположен в логическом секторе 16 и содержит указатель на FNODE корневого каталога. Одна из главных угроз использования HPFS заключается в том, что в случае потери или поврежденного суперблока из-за поврежденного сектора содержимое раздела, даже если остальная часть диска в порядке. Можно восстановить данные на диске, скопируя все данные на другой диск с хорошим сектором 16 и перестроив super Block. Однако это очень сложная задача.

Запасной блок

Запасной блок расположен в логическом секторе 17 и содержит таблицу "исправления" и блок запасных каталогов. В HPFS при обнаружении плохой сектора запись "исправления" используется для логической указать на существующий хороший сектор, а не на плохой сектор. Этот способ обработки ошибок записи называется "горячим" исправлением.

Горячее исправление — это метод, в котором при ошибке из-за плохой сектора файловая система перемещает информацию в другой сектор и пометит исходный сектор как плохой. Все это делается прозрачно для всех приложений, которые выполняют дисковый I/O (то есть приложение никогда не знает о проблемах с жестким диском). Использование файловой системы, которая поддерживает горячее исправление, позволит избежать таких сообщений об ошибках, как FAT "Отмена, повторить попытку или сбой?". сообщение об ошибке, которое возникает при плохом секторе.

Примечание

Версия HPFS, включаемая в Windows NT, не поддерживает исправления.

Преимущества HPFS

HPFS лучше всего для дисков в диапазоне от 200 до 400 МБ. Дополнительные вопросы о преимуществах HPFS см. в следующих темах:

  • Windows NT Server "Основные понятия и руководство по планированию", глава 5, раздел "Выбор файловой системы"

  • Windows NT Workstation 4.0 Resource Kit, Chapter 18, "Choosing a File System"

  • Windows NT Server 4.0 Resource Kit "Resource Guide," Chapter 3, section titled "Which File System to Use on Which Volumes"

Недостатки 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 "Основные понятия и руководство по планированию", глава 5, раздел "Выбор файловой системы"

  • Windows NT Workstation 4.0 Resource Kit, Chapter 18, "Choosing a File System"

  • Windows NT Server 4.0 Resource Kit "Resource Guide," Chapter 3, section titled "Which File System to Use on Which Volumes"

Обзор NTFS

С точки зрения пользователя, NTFS по-прежнему упорядочает файлы в каталоги, которые, как и HPFS, сортировать. Однако, в отличие от FAT или HPFS, на диске нет "особых" объектов и нет зависимости от оборудования, такого как сектора 512-byte. Кроме того, на диске нет специальных местоположений, таких как таблицы FAT или суперблок HPFS.

Цель NTFS — предоставить:

  • Надежность, особенно желаемая для высококлассных систем и файловых серверов

  • Платформа для дополнительных функций

  • Поддержка требований 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 or 18,446,744,073,709,551,616 bytes). NTFS также вернулась к концепции кластеров FAT, чтобы избежать проблемы HPFS фиксированного размера сектора. Это было сделано потому Windows NT что это переносимая операционная система, и в какой-то момент может возникнуть другая технология дисков. Таким образом, 512 bytes per sector was viewed as having a large possibility of not always being a good fit for the allocation. Это было выполнено путем определения кластера как кратного размера естественного выделения оборудования. Наконец, в NTFS все имена файлов основаны на Юникоде, а имена файлов 8.3 хранятся вместе с длинными именами файлов.

Преимущества NTFS

NTFS лучше всего использовать в томах объемом около 400 МБ или более. Это происходит потому, что производительность в NTFS не снижается, как в FAT, при больших размерах томов.

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

  • Windows NT Server "Основные понятия и руководство по планированию", глава 5, раздел "Выбор файловой системы"

  • Windows NT Workstation 4.0 Resource Kit, Chapter 18, "Choosing a File System"

  • Windows NT Server 4.0 Resource Kit "Resource Guide," Chapter 3, section titled "Which File System to Use on Which Volumes"

Недостатки NTFS

Не рекомендуется использовать NTFS для тома размером менее 400 МБ из-за объема пространства, используемого в NTFS. Это пространство используется в виде системных файлов NTFS, которые обычно используют не менее 4 МБ дискового пространства в секции 100 МБ.

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

Форматирование дискеты с файловой системой NTFS невозможно; Windows NT форматировать все дисковые диски с файловой системой FAT, так как накладные расходы, связанные с NTFS, не поместят на диск с гибкими дисками.

Дальнейшее обсуждение недостатков NTFS см. в следующих темах:

  • Windows NT Server "Основные понятия и руководство по планированию", глава 5, раздел "Выбор файловой системы"

  • Windows NT Workstation 4.0 Resource Kit, Chapter 18, "Choosing a File System"

  • Windows NT Server 4.0 Resource Kit "Resource Guide," Chapter 3, section titled "Which File System to Use on Which Volumes"

Соглашения об именах NTFS

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

? " / \ < > * | :

В настоящее время в командной строке можно создавать имена файлов размером до 253 символов.

Примечание

В зависимости от аппаратных ограничений в любой файловой системе могут быть налагаться дополнительные ограничения на размер разделов. В частности, размер загрузочного раздела может быть всего 7,8 ГБ, а в таблице разделов имеется ограничение в 2 терабайта.

Дополнительные сведения о поддерживаемых файловых системах для Windows NT см. в Windows NT Resource Kit.

§1.4. Файл и файловые системы






Содержание урока

1.4.1. Логическая структура носителя информации

Логическая структура

Таблица размещения файлов

Практическое задание «Объем файла в различных файловых системах»

Форматирование носителей информации

Интерфейс командной строки

Практическое задание «Форматирование из командной строки»

Контрольные вопросы. Компьютерный практикум

1.4.2. Файл
1.4.3. Иерархическая файловая система

Логическая структура носителя информации


Таблица размещения файлов

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

Например, для двух рассмотренных выше файлов таблица FAT с 1-й по 54-ю ячейку принимает следующий вид (табл. 1.3).

Таблица 1.3. Фрагмент FAT

Цепочка размещения для файла Файл_1 выглядит следующим образом: в начальной 34-й ячейке FAT хранится адрес следующего кластера (35), соответственно, в следующей 35-й ячейке хранится 47, в 47-й — 48, в 48-й — знак конца файла (К).

FAT12. Файловая система для операционной системы Windows. Выделяет 12 битов для хранения адреса кластера, соответственно, она может адресовать 212 = 4096 кластеров. Объем кластера по умолчанию равен размеру одного сектора (512 байтов), и поэтому FAT12 не может использоваться для носителей информации объемом более:

512 байт х 4096 = 2 097 152 байт = 2048 Кбайт = 2 Мбайт.

Такой объем имеют дискеты, поэтому FAT12 используется именно для дискет.

FAT16. Файловая система для операционной системы Windows. Выделяет 16 битов для хранения адреса кластера, соответственно, она может адресовать 216 = 65 536 кластеров. Объем кластера не может быть более 128 секторов (64 Кбайт), и поэтому FAT16 не может использоваться для носителей информации объемом более:

64 Кбайт х 65 536 = 4 194 304 Кбайт = 4096 Мбайт = 4 Гбайт.

В настоящее время такой объем имеет флэш-память, поэтому FAT16 используется именно для флэш-памяти.

FAT32. Файловая система для операционной системы Windows. Выделяет 32 бита для хранения адреса кластера, соответственно, она может адресовать 232 = 4 294 967 296 кластеров. Объем кластера по умолчанию составляет 8 секторов (4 Кбайт), и поэтому FAT32 может использоваться для носителей информации объемом:

4 Кбайт х 4 294 967 296 = 17 179 869 184 Кбайт = 16 777 216 Мбайт = 16 384 Гбайт = 16 Тбайт.

Таким образом, FAT32 может использоваться для жестких дисков самого большого объема.

NTFS. Файловая система для операционной системы Windows. Позволяет устанавливать различный объем кластера (от 512 байтов до 64 Кбайт, по умолчанию 4 Кбайт). NTFS по сравнению с FAT32 увеличивает надежность и эффективность использования дискового пространства.

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

ext3 и ReiserFS. Журналируемые файловые системы для операционных систем Unix. ReiserFS — высоконадежная файловая система, хорошо приспособленная для хранения большого количества маленьких файлов.

Блок (кластер) ext3 может иметь размер от 1 до 8 Кбайт, а в ReiserFS в одном блоке могут быть размещены данные нескольких файлов. С файлами большого размера файловая система ReiserFS также справляется весьма уверенно, максимальный размер файловой системы составляет 16 Тбайт.

HFS. Иерархическая журналируемая файловая система, разработанная Apple Computer для использования на компьютерах, работающих под управлением операционной системы Mac OS.

CDFS. Файловая система для работы с оптическими CD- и DVD-дисками, базирующаяся на стандарте ISO 9660, согласно которому имя файла не может превышать 32 символа и глубина вложения папок — не более 8 уровней.

UDF. Мультисистемная файловая система для работы с файлами на оптических дисках позволяет на перезаписываемых CD-RW и DVD+RW дисках удалять, копировать и сохранять отдельные файлы.

Следующая страница Практическое задание «Объем файла в различных файловых системах»

Cкачать материалы урока

Таблицы размещения файлов

Таблицы размещения файлов - FAT (File Allocation Table) - это таблица которая хранит информацию о месте нахождения частей файлов и каталогов.. От этой таблицы и получилось название всей файловой системы, в которой FAT является лишь одним из элементов. Учитывая крайнюю важность данной структуры, таблица FAT хранится в двух экземплярах, что повышает надежность системы. Конкретный способ организации этой таблицы будет рассмотрен ниже.

Корневой каталог

Директория (или каталог) это список 32-байтных элементов, каждый из которых описывает какой-либо файл или каталог. Есть лишь одна специальная директория, которая всегда должна присутствовать на диске, это корневая директория (Root Directory), которая располагается сразу после последней копии FAT. Файловая система имеет древовидную структуру – в корневом каталоге располагаются 32-байтовые элементы, которые содержат информацию о других (вложенных) каталогах, те в свою очередь содержат вложенные каталоги следующего уровня и так далее.

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

Область файлов и каталогов, понятие кластера

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

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

Размер кластера (число секторов) выбирается кратным степени числа 2 (размер кластера может быть описан формулой 2n*512). Это означает, что кластер может иметь размер 512, 1024, 2048, 4096 и.т.д. байт. Конкретный размер кластера на диске задается при его форматировании в зависимости oт объема диска и размера FAT Файл на диске занимает целое число кластеров, от одного до всех кластеров, входящих в область данных. Количество файлов на диске не может превышать количества кластеров

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

Структура каталога и дескриптора файла

Как мы уже говорили, любой каталог содержит 32-байтовые элементы – дескрипторы (Descriptor – дословно описатель, описательный элемент), описывающие файлы и другие каталоги. Поля дескриптора описывают различные характеристики файла (или каталога). Приведем формат дескриптора файла (Таблица 6):

Таблица 6 Формат дескриптора файла

Размер

(байт)

Поле

8

Имя файла или каталога

3

Расширение имени файла

1

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

2

Время создания файла или время его последней модификации

2

Дата создания файла или время его последней модификации

2

Номер первого кластера, распределённого файлу

4

Размер файла в байтах

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

Таблица 7. Атрибуты файлов.

Бит

Название атрибута

Перевод

Описание

0

R – READ ONLY

только для чтения

Файл предназначен только для чтения, в этот файл нельзя писать и его нельзя стирать.

1

Н–HIDDEN

скрытый

Файл скрывается от показа, пока явно не сказано обратное

2

S –SYSTEM

системный

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

3

V–VOLUME

том

Данный дескриптор описывает метку диска. Для этого дескриптора поля имени файла и расширения имени файла должны рассматриваться как одно поле длиной 11 байтов. Это поле содержит метку диска.

4

D–DIRECTORY

каталог

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

5

А–ARCHIVE

Архивный (требующий архивации)

Файл изменён после резервного копирования или не был скопирован программами резервного копирования (сейчас используется редко)

Информация, хранимая в атрибутах, используется операционной системой при выполнении файловых операций. Например, значение атрибута DIRECTORY позволяет отличать файл от подчиненного каталога, а по значению атрибута ARCHIVE отбираются файлы для резервного копирования. Атрибут READ ONLY запрещает изменять и удалять файл, а атрибут HIDDEN делает файл «невидимым». Биты атрибутов VOLUME и DIRECTORY может изменить только операционная система, остальные атрибуты могут изменяться пользователем.

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

Файловая система — что это такое и их виды

13 октября, 2020

Автор: Maksim

Файловая система является важной частью любого накопителя информации. Она позволяет организовывать файловое пространство и работать с ней операционной системе.

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

Прошлый материал был посвящен сочетанию клавиш WIN + R. Сегодня мы разберем понятие/определение файловой системы, рассмотрим, какие они бывают и чем отличаются друг от друга.

Что такое файловая система

Файловая система (File System, ФС) — определяет и контролирует, как будут храниться и именоваться данные на носителе/накопителе информации: флешке, жестком или ssd диске и других. От нее зависит способ хранения данных на накопителе, сам формат данных и то, как они будут записываться/читаться в дальнейшем.

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

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

Что определяет файловая система:

  • Структура
  • Правила хранения и чтения данных
  • Размер кластеров
  • Формат содержимого
  • Размер имен файлов
  • Максимально возможный размер файла и раздела. К примеру, в ФАТ32 максимальный размер всего 4 ГБ, т.е. 4 294 967 295 байт.
  • Набор атрибутов файла

Как это работает

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

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

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

Прочитает ли ваше устройство флешку или SD карту с определенной файловой системой, определяет то, какая операционная система установлена на этом устройстве. С компьютерами все просто, здесь читается практически любая ФС на носителях, и более того — мы сами можем определять ее при форматировании. Windows, Linux, Mac OS, Android и IOS — универсальные ОС, которые поддерживают сразу несколько разных видов файловых систем.

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

Интересно! Термин файловая система раньше использовался для описания метода хранения бумажных документов/файлов. Только в 1 961 году его начали применять для использования к компьютерам, причем своего значения он не потерял.

Виды

Есть определенные файловые системы, которые используются повсеместно, это: FAT32, NTFS и exFAT. Это универсальные ФС, которые видят все ОС: Windows, Linux, Mac OS, IOS, Android и другие. А также их читают практически все фотоаппараты, видеокамеры, телевизоры и другое оборудование. Есть и ФС, которые были специально разработаны для работы в определенных приложениях, к примеру, ISO 9660 разработана специально для оптических дисков.

Интересно! ФС могут быть напрямую не связанными с накопителем информации. Есть и виртуальные, и сетевые ФС, они определяют способ доступа к данным, хранящимся на удаленной машине.

FAT

FAT (таблица размещения файлов) — это простая ФС с классической архитектурой. Была разработана еще в 1 976 годах Биллом Гейтсом и Марком МакДональдом для MS-DOS и Windows. До сих пор применяется для некоторых флеш накопителей. Используется исключительно для небольших флеш накопителей, дисков и простых структур папок.

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

Существует четыре версии этой ФС, самые известные и распространенные на данный момент — FAT32 и exFAT (FAT64). Цифра в конце названия означает количество бит, которые отведены для хранения кластера.

FAT32

FAT32 — это разновидность файловой системы FAT. На данный момент является предпоследней версией этой ОС, прямом перед exFAT. Имеет расширенный размер тома, т.е. использует 32-разрядную адресацию кластеров.

Появилась вместе с Windows 95. Поддерживается практически всеми ОС. Но, практически уже не используется, так как, имеет ограничение на размер файла в 4Гб и полный размер накопителя может быть только менее 8 терабайт.

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

NTFS

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

Была разработана на смену FAT, обладает более высокой производительностью, защитой, механизмом хранения информации. Данные располагаются в главной таблице — MFT. Файлы можно именовать на любом языке в стандарте юникода UTF.

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

exFAT

exFAT — это улучшенная система FAT32, избавленная от ее недостатков. Была создана специально для SSD дисков, здесь используется куда меньшее количество перезаписей секторов, что увеличивает срок службы таких дисков. Ограничения на размер данных нет и увеличен размер кластера.

Из минусов — не все ОС и устройства видят ее на данный момент, те же Windows Vista без Service Pack и более ранние просто не могут с ней работать. Это же относится и к некоторым моделям устройств: телевизоров, планшетов, магнитол и других.

В заключение

Это была основная информация, которую нужно знать по этой теме. Каждый раз, перед тем, как форматировать свой диск, вберите правильную ФС для него и все будет работать исправно.

Таблицы размещения файлов — Студопедия

Таблицы размещения файлов - FAT (File Allocation Table) - это таблица которая хранит информацию о месте нахождения частей файлов и каталогов.. От этой таблицы и получилось название всей файловой системы, в которой FAT является лишь одним из элементов. Учитывая крайнюю важность данной структуры, таблица FAT хранится в двух экземплярах, что повышает надежность системы. Конкретный способ организации этой таблицы будет рассмотрен ниже.

Корневой каталог

Директория (или каталог) это список 32-байтных элементов, каждый из которых описывает какой-либо файл или каталог. Есть лишь одна специальная директория, которая всегда должна присутствовать на диске, это корневая директория (Root Directory), которая располагается сразу после последней копии FAT. Файловая система имеет древовидную структуру – в корневом каталоге располагаются 32-байтовые элементы, которые содержат информацию о других (вложенных) каталогах, те в свою очередь содержат вложенные каталоги следующего уровня и так далее.

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

Fat – таблица размещения файлов.

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

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

51 Размещение информации на диске (создание файла, каталога) Создание и именование файлов

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

Создание каталогов (папок)

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

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

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

52 Fat– таблица размещения файлов fat – таблица размещения файлов.

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

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

Файловая система FAT(англ. FileAllocationTable) была разработана Биллом Гейтсом и Марком МакДональдом в 1977 году и первоначально использовалась в операционной системе 86-DOS. Чтобы добиться переносимости программ из операционной системы CP/M в 86-DOS, в ней были сохранены ранее принятые ограничения на имена файлов. В дальнейшем 86-DOS была приобретена Microsoft и стала основой для ОС MS-DOS 1.0, выпущенной в августе 1981 года. FAT была предназначена для работы с гибкими дисками размером менее 1 Мбайта, и вначале не предусматривала поддержки жестких дисков.

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

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

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

Команда FORMAT фоpмиpует таблицы размещения файлов (FAT) и  директорий (каталогов) диска. Обе эти структуры тесно связаны с организацией доступа к файлам.

Таблица размещения файлов - обзор

Таблица размещения файлов (FAT)

FAT широко доступна в системах Windows, начиная с ОС MS-DOS. Эта файловая система имеет такие воплощения, как FAT12, FAT16, FAT32 и exFAT. Том разбит на блоки определенного размера в зависимости от нумерации версий файловой системы. FAT12 имеет размер кластера от 512 байтов до 8 килобайт, тогда как FAT16 имеет размер кластера от 512 байтов до 64 килобайт. Файловые системы FAT32 могут поддерживать диски размером до двух терабайт с использованием кластеров размером от 512 байт до 32 килобайт.Файловые системы FAT начинаются с загрузочного сектора и переходят к областям FAT 1 и 2, корневому каталогу, файлам и другим каталогам. FAT предоставляет ОС таблицу, в которой указывается, какой кластер в томе используется для файла или папки. В файловой системе FAT удаление файла выполняется путем перезаписи первого символа имени объекта на 0xE5 или 0x00 и установки записи таблицы связанных кластеров на ноль. Время файлов FAT хранится с использованием информации о времени локальной системы.

.

Именование файлов, путей и пространств имен - приложения Win32

  • 14 минут на чтение

В этой статье

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

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

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

Для получения дополнительной информации см. Следующие подразделы:

Чтобы узнать о настройке Windows 10 для поддержки длинных путей к файлам, см. Ограничение максимальной длины пути.

Имена файлов и каталогов

Все файловые системы следуют одним и тем же общим соглашениям об именах для отдельных файлов: базовое имя файла и дополнительное расширение, разделенные точкой. Однако каждая файловая система, такая как NTFS, CDFS, exFAT, UDFS, FAT и FAT32, может иметь особые и разные правила формирования отдельных компонентов на пути к каталогу или файлу.Обратите внимание, что каталог - это просто файл со специальным атрибутом, обозначающим его как каталог, но в остальном он должен следовать всем тем же правилам именования, что и обычный файл. Поскольку термин каталог просто относится к особому типу файла в том, что касается файловой системы, в некоторых справочных материалах будет использоваться общий термин файл для охвата концепции каталогов и файлов данных как таковых. По этой причине, если не указано иное, любые правила именования или использования или примеры для файла также должны применяться к каталогу.Термин путь означает один или несколько каталогов, обратную косую черту и, возможно, имя тома. Для получения дополнительной информации см. Раздел «Пути».

Ограничения на количество символов также могут быть разными и могут различаться в зависимости от файловой системы и используемого формата префикса имени пути. Это дополнительно осложняется поддержкой механизмов обратной совместимости. Например, более старая файловая система MS-DOS FAT поддерживает максимум 8 символов для основного имени файла и 3 символа для расширения, всего 12 символов, включая разделитель точек.Обычно это имя файла 8.3 . Файловые системы Windows FAT и NTFS не ограничиваются именами файлов 8.3, потому что они имеют длинных имен файлов, поддерживают , но они по-прежнему поддерживают версию 8.3 длинных имен файлов.

Условные обозначения

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

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

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

  • Используйте обратную косую черту как часть имен томов, например, «C: \» в «C: \ path \ file» или «\\ server \ share» в «\\ server \ share \ path \ file "для имен UNC.Дополнительные сведения об именах UNC см. В разделе «Ограничение максимальной длины пути».

  • Не учитывайте регистр. Например, считайте имена OSCAR, Oscar и oscar одинаковыми, даже если некоторые файловые системы (например, файловая система, совместимая с POSIX) могут рассматривать их как разные. Обратите внимание, что NTFS поддерживает семантику POSIX для чувствительности к регистру, но это не поведение по умолчанию. Для получения дополнительной информации см. CreateFile .

  • Обозначения томов (буквы дисков) также нечувствительны к регистру.Например, «D: \» и «d: \» относятся к одному и тому же тому.

  • Используйте любой символ текущей кодовой страницы для имени, включая символы Unicode и символы из расширенного набора символов (128–255), за исключением следующего:

    • Следующие зарезервированные символы:

      • <(менее)
      • > (больше)
      • : (двоеточие)
      • "(двойная кавычка)
      • / (косая черта)
      • \ (обратная косая черта)
      • | (вертикальный стержень или труба)
      • ? (вопросительный знак)
      • * (звездочка)
    • Целочисленное значение ноль, иногда называемое символом ASCII NUL .

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

    • Любой другой символ, запрещенный целевой файловой системой.

  • Используйте точку в качестве каталога , компонент в пути для представления текущего каталога, например «. \ Temp.txt». Для получения дополнительной информации см. Пути.

  • Используйте две последовательные точки (..) в качестве каталога , компонент в пути, представляющем родительский элемент текущего каталога, например «.. \ temp.txt». Для получения дополнительной информации см. Пути.

  • Не используйте следующие зарезервированные имена для имени файла:

    CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, ​​COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8 и LPT9. Также избегайте этих имен, за которыми сразу следует расширение; например, NUL.txt не рекомендуется. Для получения дополнительной информации см. Пространства имен.

  • Не заканчивайте имя файла или каталога пробелом или точкой. Хотя базовая файловая система может поддерживать такие имена, оболочка Windows и пользовательский интерфейс - нет. Однако допустимо указывать точку в качестве первого символа имени. Например, «.temp».

Краткие и длинные имена

Длинным именем файла считается любое имя файла, которое превышает короткое имя MS-DOS (также называемое 8.3 ) соглашение об именах стилей. Когда вы создаете длинное имя файла, Windows может также создать короткую форму имени 8.3, названную псевдонимом 8.3, или кратким именем, и также сохранить ее на диске. Этот псевдоним 8.3 может быть отключен по соображениям производительности либо для всей системы, либо для определенного тома, в зависимости от конкретной файловой системы.

Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: псевдоним 8.3 нельзя отключить для указанных томов до Windows 7 и Windows Server 2008 R2.

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

Примечание

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

Чтобы запросить имена файлов 8.3, длинные имена или полный путь к файлу из системы, рассмотрите следующие варианты:

В более новых файловых системах, таких как NTFS, exFAT, UDFS и FAT32, Windows хранит длинные имена файлов на диске в Unicode, что означает, что исходное длинное имя файла всегда сохраняется.Это верно, даже если длинное имя файла содержит расширенные символы, независимо от кодовой страницы, которая активна во время операции чтения или записи на диск.

Файлы с длинными именами файлов можно копировать между разделами файловой системы NTFS и разделами файловой системы Windows FAT без потери информации об имени файла. Это может быть неверно для старых файловых систем MS-DOS FAT и некоторых типов файловых систем CDFS (CD-ROM), в зависимости от фактического имени файла. В этом случае, если возможно, подставляется короткое имя файла.

Пути

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

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

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

Полностью квалифицированные и относительные пути

Для функций Windows API, которые манипулируют файлами, имена файлов часто могут относиться к текущему каталогу, в то время как некоторые API требуют полного пути. Имя файла указывается относительно текущего каталога, если оно не начинается с одного из следующих символов:

  • Имя UNC любого формата, которое всегда начинается с двух символов обратной косой черты ("\\"). Для получения дополнительной информации см. Следующий раздел.
  • Обозначение диска с обратной косой чертой, например «C: \» или «d: \».
  • Одиночная обратная косая черта, например, «\ каталог» или «\ file.txt». Это также называется абсолютным путем .

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

  • «C: tmp.txt» относится к файлу с именем «tmp.txt» в текущем каталоге на диске C.
  • «C: tempdir \ tmp.txt» относится к файлу в подкаталоге текущего каталога на диске C.

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

  • ".. \ tmp.txt" указывает файл с именем tmp.txt, расположенный в родительском каталоге текущего каталога.
  • ".. \ .. \ tmp.txt" указывает файл, который находится на два каталога выше текущего каталога.
  • ".. \ tempdir \ tmp.txt" указывает файл с именем tmp.txt, расположенный в каталоге с именем tempdir, который является одноранговым каталогом для текущего каталога.

Относительные пути могут сочетать оба типа примеров, например «C: .. \ tmp.txt».Это полезно, потому что, хотя система отслеживает текущий диск вместе с текущим каталогом этого диска, она также отслеживает текущие каталоги в каждой из разных букв дисков (если в вашей системе их больше одной), независимо от какое обозначение привода установлено в качестве текущего привода.

Ограничение максимальной длины пути

В выпусках Windows до Windows 10 версии 1607 максимальная длина пути составляет MAX_PATH , что определяется как 260 символов.В более поздних версиях Windows для снятия ограничения требуется изменение раздела реестра или использование инструмента групповой политики. См. Полную информацию в разделе «Ограничение максимальной длины пути».

Пространства имен

Существует две основные категории соглашений о пространствах имен, используемых в API Windows, которые обычно называются пространствами имен NT и пространствами имен Win32 . Пространство имен NT было разработано как пространство имен самого низкого уровня, в котором могли существовать другие подсистемы и пространства имен, включая подсистему Win32 и, соответственно, пространства имен Win32.POSIX - еще один пример подсистемы в Windows, которая построена на основе пространства имен NT. Ранние версии Windows также определяли несколько предопределенных или зарезервированных имен для определенных специальных устройств, таких как коммуникационные (последовательные и параллельные) порты и консоль дисплея по умолчанию как часть того, что теперь называется пространством имен устройств NT, и все еще поддерживаются в текущих версиях. Windows для обратной совместимости.

Пространства имен файлов Win32

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

Для файлового ввода-вывода префикс «\\? \» В строке пути указывает API-интерфейсам Windows отключить весь синтаксический анализ строк и отправить строку, которая следует за ним, прямо в файловую систему.Например, если файловая система поддерживает большие пути и имена файлов, вы можете превысить ограничения MAX_PATH , которые в противном случае применяются API Windows. Дополнительные сведения о обычном ограничении максимального пути см. В предыдущем разделе «Ограничение максимальной длины пути».

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

Многие, но не все API файлового ввода-вывода поддерживают "\\? \"; вы должны посмотреть справочную тему для каждого API, чтобы быть уверенным.

Обратите внимание, что API Unicode следует использовать, чтобы убедиться, что префикс «\\? \» Позволяет вам превышать MAX_PATH

Пространства имен устройств Win32

Префикс «\\. \» Будет обращаться к пространству имен устройства Win32 вместо пространства имен файлов Win32. Таким образом, доступ к физическим дискам и томам осуществляется напрямую, без прохождения через файловую систему, если API поддерживает этот тип доступа.Таким образом можно получить доступ ко многим устройствам, отличным от дисков (например, с помощью функций CreateFile и DefineDosDevice ).

Например, если вы хотите открыть системный последовательный коммуникационный порт 1, вы можете использовать «COM1» в вызове функции CreateFile . Это работает, потому что COM1 – COM9 являются частью зарезервированных имен в пространстве имен NT, хотя использование префикса «\\. \» Также будет работать с этими именами устройств. Для сравнения, если у вас установлена ​​плата расширения последовательного порта на 100 портов и вы хотите открыть COM56, вы не сможете открыть ее с помощью «COM56», поскольку для COM56 не существует предварительно определенного пространства имен NT.Вам нужно будет открыть его с помощью «\\. \ COM56», потому что «\\. \» Переходит непосредственно в пространство имен устройства, не пытаясь найти предопределенный псевдоним.

Другой пример использования пространства имен устройства Win32 - использование функции CreateFile с «\\. \ PhysicalDisk X » (где X - допустимое целочисленное значение) или «\\. \ CdRom X ». Это позволяет получить доступ к этим устройствам напрямую, минуя файловую систему. Это работает, потому что эти имена устройств создаются системой при перечислении этих устройств, а некоторые драйверы также создают другие псевдонимы в системе.Например, драйвер устройства, реализующий имя «C: \», имеет собственное пространство имен, которое также является файловой системой.

API-интерфейсы

, которые проходят через функцию CreateFile , обычно работают с префиксом «\\. \», Потому что CreateFile - это функция, используемая для открытия файлов и устройств, в зависимости от используемых вами параметров.

Если вы работаете с функциями Windows API, вы должны использовать префикс «\\. \» Для доступа только к устройствам, а не к файлам.

Большинство API-интерфейсов не поддерживают "\\.\ "; только те, которые предназначены для работы с пространством имен устройства, распознают его. Всегда проверяйте справочную тему для каждого API, чтобы быть уверенным.

Пространства имен NT

Существуют также API-интерфейсы, которые позволяют использовать соглашение о пространстве имен NT, но диспетчер объектов Windows делает это ненужным в большинстве случаев. Чтобы проиллюстрировать это, полезно просматривать пространства имен Windows в обозревателе системных объектов с помощью инструмента Windows Sysinternals WinObj. Когда вы запускаете этот инструмент, вы видите пространство имен NT, начинающееся с корня, или "\".Подпапка под названием «Global ??» здесь находится пространство имен Win32. Именованные объекты устройств находятся в пространстве имен NT в подкаталоге «Device». Здесь вы также можете найти Serial0 и Serial1, объекты устройства, представляющие первые два COM-порта, если они есть в вашей системе. Объект устройства, представляющий том, будет выглядеть примерно как «HarddiskVolume1», хотя числовой суффикс может отличаться. Имя «DR0» в подкаталоге «Harddisk0» является примером объекта устройства, представляющего диск, и так далее.

Чтобы сделать эти объекты устройств доступными для приложений Windows, драйверы устройств создают символическую ссылку (символическую ссылку) в пространстве имен Win32, «Global ??», на соответствующие объекты устройств. Например, COM0 и COM1 под заголовком "Global ??" подкаталог - это просто символические ссылки на Serial0 и Serial1, «C:» - это символическая ссылка на HarddiskVolume1, «Physicaldrive0» - это символическая ссылка на DR0 и так далее. Без символической ссылки указанное устройство «Xxx» не будет доступно для любого приложения Windows, использующего соглашения о пространстве имен Win32, как описано ранее.Однако дескриптор этого устройства может быть открыт с помощью любых API-интерфейсов, которые поддерживают абсолютный путь пространства имен NT в формате «\ Device \ Xxx».

С добавлением поддержки многопользовательского режима через службы терминалов и виртуальные машины возникла необходимость виртуализировать общесистемное корневое устройство в пространстве имен Win32. Это было достигнуто путем добавления символической ссылки «GLOBALROOT» в пространство имен Win32, которое вы можете увидеть в «Global ??» подкаталог инструмента браузера WinObj, о котором говорилось ранее, и доступ к нему можно получить по пути "\\? \ GLOBALROOT".Этот префикс гарантирует, что следующий за ним путь будет выглядеть как истинный корневой путь диспетчера системных объектов, а не путь, зависящий от сеанса.

Сравнение функций файловой системы

.

NTFSInfo - Windows Sysinternals | Документы Microsoft

  • 2 минуты на чтение

В этой статье

Марк Руссинович

Дата публикации: 4 июля 2016 г.

Скачать NTFSInfo (143 КБ)

Введение

NTFSInfo - это небольшой апплет, который показывает вам информацию о NTFS тома.Его дамп включает размер единиц размещения диска, где ключевые файлы NTFS расположены, а размеры файлов метаданных NTFS на громкость. Эта информация обычно представляет собой не более чем любопытство. значение, но NTFSInfo действительно показывает некоторые интересные вещи. Например, вы, наверное, слышали о NTFS-эквиваленте файловой системы FAT Таблица размещения файлов. Это называется главной файловой таблицей (MFT), и это состоит из записей постоянного размера, которые описывают расположение всех файлы и каталоги на диске.Что удивительного в MFT, так это что он управляется как файл, как и любой другой. NTFSInfo покажет где на диске (с точки зрения кластеров) расположена MFT и как он велик, в дополнение к указанию размера кластеров тома и записи MFT есть. Чтобы защитить MFT от фрагментации, NTFS резервирует часть диска вокруг MFT, которую не будет выделить для других файлов, если на диске не заканчивается свободное место. Этот район известен поскольку MFT-Zone и NTFSInfo скажут вам, где на диске MFT-зона находится и какой процент диска зарезервирован для нее.

Вы также можете быть удивлены, узнав, что, как и MFT, все NTFS метаданные хранятся в файлах. Например, есть файл с именем $ Boot, который соответствует загрузочному сектору диска. Объем карта кластера хранится в другом файле с именем $ Bitmap. Эти файлы находятся прямо в корневом каталоге NTFS, но вы не увидите их, если вы знаете, что они там. Попробуйте ввести "dir / ah $ boot" в корне каталог тома NTFS, и вы фактически увидите файл $ boot. NTFSInfo выполняет эквивалент "dir / ah", чтобы показать вам имена и размеры всех файловых систем NTFS (3.51 и 4.0) файлы метаданных.

NTFSInfo предназначен для сопровождения моего январского 1998 года Windows NT Журнал Столбец "NT Internals", в котором описаны внутренние данные NTFS. конструкции.

Установка и использование

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

Использование: NTFSInfo x

Параметр Описание
x Буква диска тома NTFS, который вы хотите проверить.

Как это работает

NTFSInfo использует недокументированный вызов управления файловой системой (FSCTL) для получить информацию из NTFS о томе. Он печатает эту информацию вместе с дампом каталога файлов метаданных NTFS.

Скачать NTFSInfo (143 КБ)

Работает на:

  • Клиент: Windows Vista и выше
  • Server: Windows Server 2008 и выше
  • Nano Server: 2016 и выше
.

Константы атрибутов файла (WinNT.h) - приложения Win32

FILE_ATTRIBUTE_ARCHIVE
32 (0x20)
Файл или каталог, представляющий собой архивный файл или каталог. Приложения обычно используют этот атрибут, чтобы пометить файлы для резервного копирования или удаления.
FILE_ATTRIBUTE_COMPRESSED
2048 (0x800)
Сжатый файл или каталог.Для файла все данные в файле сжимаются. Для каталога сжатие используется по умолчанию для вновь создаваемых файлов и подкаталогов.
FILE_ATTRIBUTE_DEVICE
64 (0x40)
Это значение зарезервировано для использования системой.
FILE_ATTRIBUTE_DIRECTORY
16 (0x10)
Дескриптор, определяющий каталог.
FILE_ATTRIBUTE_ENCRYPTED
16384 (0x4000)
Зашифрованный файл или каталог. Для файла все потоки данных в файле зашифрованы. Для каталога по умолчанию для вновь создаваемых файлов и подкаталогов используется шифрование.
FILE_ATTRIBUTE_HIDDEN
2 (0x2)
Файл или каталог скрыт. Он не входит в обычный список каталогов.
FILE_ATTRIBUTE_INTEGRITY_STREAM
32768 (0x8000)
Каталог или поток пользовательских данных настроен с соблюдением целостности (поддерживается только на томах ReFS). Он не входит в обычный список каталогов. Параметр целостности сохраняется с файлом, если он переименован. Если файл копируется, для целевого файла будет установлена ​​целостность, если для исходного файла или целевого каталога установлена ​​целостность.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Этот флаг не поддерживается до Windows Server 2012.
FILE_ATTRIBUTE_NORMAL
128 (0x80)
Файл, для которого не установлены другие атрибуты. Этот атрибут действителен только при использовании отдельно.
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
8192 (0x2000)
Файл или каталог не должны индексироваться службой индексации содержимого.
FILE_ATTRIBUTE_NO_SCRUB_DATA
131072 (0x20000)
Поток пользовательских данных, который не должен быть прочитан сканером целостности фоновых данных (скруббер AKA). Когда он установлен в каталоге, он обеспечивает только наследование. Этот флаг поддерживается только на томах Storage Spaces и ReFS. Он не входит в обычный список каталогов.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Этот флаг не поддерживается до Windows 8 и Windows Server 2012.
FILE_ATTRIBUTE_OFFLINE
4096 (0x1000)
Данные файла недоступны сразу. Этот атрибут указывает, что данные файла физически перемещены в автономное хранилище. Этот атрибут используется удаленным хранилищем - программным обеспечением для управления иерархическим хранилищем. Приложения не должны произвольно изменять этот атрибут.
FILE_ATTRIBUTE_READONLY
1 (0x1)
Файл только для чтения.Приложения могут читать файл, но не могут записывать или удалять его. Этот атрибут не соблюдается в каталогах. Для получения дополнительной информации см. Вы не можете просматривать или изменять атрибуты папок только для чтения или системные атрибуты в Windows Server 2003, в Windows XP, в Windows Vista или в Windows 7.
FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS
4194304 (0x400000)
Если этот атрибут установлен, это означает, что файл или каталог не полностью присутствуют локально.Для файла это означает, что не все его данные находятся в локальном хранилище (например, он может быть разреженным, а некоторые данные все еще находятся в удаленном хранилище). Для каталога это означает, что часть содержимого каталога виртуализируется из другого места. Чтение файла / перечисление каталога будет дороже, чем обычно, например это приведет к тому, что по крайней мере часть содержимого файла / каталога будет извлечена из удаленного хранилища. Только вызывающие программы в режиме ядра могут установить этот бит.
FILE_ATTRIBUTE_RECALL_ON_OPEN
262144 (0x40000)
Этот атрибут появляется только в классах перечисления каталогов (FILE_DIRECTORY_INFORMATION, FILE_BOTH_DIR_INFORMATION и т. Д.). Когда этот атрибут установлен, это означает, что файл или каталог не имеют физического представления в локальной системе; предмет виртуальный. Открытие предмета будет дороже, чем обычно, например это приведет к тому, что по крайней мере часть его будет получена из удаленного хранилища.
FILE_ATTRIBUTE_REPARSE_POINT
1024 (0x400)
Файл или каталог, связанный с точкой повторной обработки, или файл, являющийся символической ссылкой.
FILE_ATTRIBUTE_SPARSE_FILE
512 (0x200)
Редкий файл.
FILE_ATTRIBUTE_SYSTEM
4 (0x4)
Файл или каталог, часть или исключительно используемый операционной системой.
FILE_ATTRIBUTE_TEMPORARY
256 (0x100)
Файл, который используется для временного хранения.Файловые системы избегают записи данных обратно в запоминающее устройство, если доступно достаточное количество кэш-памяти, потому что обычно приложение удаляет временный файл после закрытия дескриптора. В этом случае система может полностью избежать записи данных. В противном случае данные записываются после закрытия дескриптора.
FILE_ATTRIBUTE_VIRTUAL
65536 (0x10000)
Это значение зарезервировано для использования системой.
.

Смотрите также