Максимальная длина имени файла в ntfs (windows xp и windows vista)?

Обзор

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

VFAT и компьютерные имена файлов формата 8.3

VFAT , вариант FAT с расширенным форматом каталогов, был представлен в Windows 95 и Windows NT 3.5. Это позволило использовать длинные имена файлов Unicode (LFN) в смешанном регистре в дополнение к классическим именам 8.3, используя несколько для длинных имен файлов (таким образом, что только одна из них будет распознаваться старым системным программным обеспечением 8.3 как допустимая запись каталога. ).

Для обеспечения обратной совместимости с устаревшими приложениями (в DOS и Windows 3.1 ) в файловых системах FAT и VFAT автоматически создается имя файла 8.3 для каждого LFN, через которое файл все еще можно переименовать, удалить или открыть, хотя сгенерированное имя (например, ) может иметь небольшое сходство с оригиналом. В файловых системах NTFS создание имен файлов формата 8.3 может быть отключено. Имя файла 8.3 можно получить с помощью функции Kernel32.dll GetShortPathName.

Хотя не существует обязательного алгоритма для создания имени 8.3 из LFN, Windows использует следующее соглашение:

  1. Если LFN в верхнем регистре 8,3, LFN вообще не будет храниться на диске.
  2. Если LFN имеет смешанный регистр 8.3, LFN будет хранить имя в смешанном регистре, а имя 8.3 будет его версией в верхнем регистре.
  3. Если имя файла содержит символы, недопустимые в имени 8.3 (включая пробелы, которые были запрещены соглашением, но не API-интерфейсами), или какая-либо часть слишком длинная, имя удаляется из недопустимых символов, таких как пробелы и дополнительные точки. Если имя начинается с точек, ведущие точки удаляются. Другие символы, например , заменяются подчеркиванием , а буквы вводятся в верхнем регистре. Затем удаленное имя обрезается до первых 6 букв базового имени , за которым следует тильда , за которой следует одна цифра , за которой следует точка , за которой следуют первые 3 символа расширения.
  4. Во всех версиях NT, включая Windows 2000 и более поздние версии , если уже существует по крайней мере 4 файла или папки с таким же расширением и первыми 6 символами в их коротких именах, вырезанный LFN вместо этого усекается до первых 2 букв базового имени (или 1, если базовое имя состоит только из 1 буквы), за которыми следуют 4 шестнадцатеричные цифры, полученные из недокументированного хэша имени файла, за которым следует тильда, за которой следует одна цифра, за которой следует точка , за которой следуют первые 3 символа расширения.
  5. В Windows 95, 98 и ME, если более 9 файлов или папок с одинаковым расширением и первыми 6 символами и в их коротких именах (так что сквозных суффиксов недостаточно для разрешения конфликта), имя дополнительно усекается до 5. буквы, за которыми следует тильда, за которыми следуют две цифры, начиная с 10, за которыми следует точка и первые 3 символа расширения.

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

ISO 9660 файловой системы ( в основном используется на компакт — дисках ) имеет те же ограничения , на самом базовом уровне 1, с дополнительным ограничением , что имена каталогов не могут содержать расширения и что некоторые символы ( в частности , дефисы ) не допускается в именах файлов. Уровень 2 допускает имена файлов длиной до 31 символа, более совместимые с классическими именами файлов AmigaOS и Mac OS .

Во время антимонопольного дела Microsoft 2001 года названия MICROS ~ 1 и MICROS ~ 2 в шутку использовались для обозначения компаний, которые могли существовать после предложенного разделения Microsoft.

Пути к устройствам DOS

В операционной системе Windows используется унифицированная объектная модель, которая указывает на все ресурсы, включая файлы. Эти пути к объектам доступны из окна консоли и предоставляются на уровень Win32 с использованием специальной папки с символьными ссылками, с которыми сопоставляются устаревшие пути DOS и UNC. Доступ к этой специальной папке осуществляется с использованием синтаксиса пути к устройству DOS, который может иметь одну из приведенных ниже форм:

Помимо использования буквы диска, вы можете указать том с помощью его GUID. Синтаксис будет иметь вид:

Примечание

Синтаксис пути к устройству DOS поддерживается в реализациях платформы .NET для ОС Windows, начиная с версий .NET Core 1.1 и .NET Framework 4.6.2.

Путь к устройству DOS состоит из следующих компонентов:

Описатель пути к устройству ( или ), который идентифицирует путь как путь к устройству DOS.

Примечание
Описатель поддерживается во всех версиях .NET Core, в .NET 5 и более поздних версий, а также в .NET Framework, начиная с версии 4.6.2.

Символьная ссылка на «реальный» объект устройства (C: в случае имени диска или Volume{b75e2c83-0000-0000-0000-602f00000000} в случае GUID тома).
Первый сегмент пути к устройству DOS после описателя пути к устройству идентифицирует том или диск. (Например, и .)
Для UNC-путей существует специальная ссылка, которая называется . Пример:

Для UNC-путей к устройствам часть сервера или общего сетевого ресурса образует том. Например, в пути часть представляет сервер или общий сетевой ресурс

Это важно при вызове такого метода, как с сегментами с относительным путем к каталогу, поскольку переход дальше тома невозможен.

Пути к устройствами DOS по определению являются полными. Сегменты с относительным путем к каталогу ( и ) в них не допускаются. Они никогда не задаются относительно текущего каталога.

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

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

Таблица распределения файлов 32 (FAT32)

FAT32 является самой старой из трех файловых систем, доступных в Windows. Она была представлена в Windows 95, и заменила собой старую файловую систему FAT16, используемую в MS-DOS и Windows 3.

Возраст файловой системы FAT32 имеет свои преимущества и недостатки. Большие преимущества заключаются в том, что FAT32 является стандартом де-факто. Флэш-накопители из упаковки часто имеют файловую систему FAT32 для максимальной совместимости не только с современными компьютерами, но и другими устройствами, такими как игровые приставки и всё что угодно с USB-портом.

Однако, её ограничения также связаны с возрастом. Отдельные файлы на диске FAT32 не могут иметь размер больше 4 ГБ – это максимум. Раздел FAT32 также должен быть меньше 8 ТБ. Это границы к которым вплотную подобрались современные пользовательские устройства.

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

  • Совместимость: работает со всеми версиями Windows, Mac и Linux, игровыми приставками, и практически с любым устройством, имеющим порт USB.
  • Ограничения: максимальный размер файла 4 ГБ, максимальный размер раздела – 8 ТБ.
  • Идеальное использование: используйте на съемных дисках, где вам нужна максимальная совместимость с широким спектром устройств, если Вы не используете файлы 4 ГБ или большего размера.

Сравнение файловых систем NTFS и FAT

NTFS

NTFS является предпочтительной файловой системой для этой версии Windows. Она имеет множество преимуществ перед более ранней системой FAT32; ниже перечислены некоторые из них.

Способность автоматически восстанавливаться после некоторых ошибок диска (FAT32 не обладает такой способностью).

Улучшенная поддержка больших жестких дисков.

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

FAT32

Файловая система FAT32 и редко применяемая система FAT использовались в предыдущих версиях Windows, в том числе в Windows 95, Windows 98 и Windows Millenium Edition. Файловая система FAT32 не обеспечивает уровня безопасности, предоставляемого NTFS, поэтому если на компьютере имеется раздел или том, отформатированный под FAT32, файлы на этом разделе видны любому пользователю, имеющему доступ к компьютеру. Файловая система FAT32 также имеет ограничения по размеру файлов. В этой версии Windows невозможно создать раздел FAT32 размером более 32Гб. Кроме того, раздел FAT32 не может содержать файл размером более 4Гб.

Основной причиной использования системы FAT32 может служить то, что на компьютере можно будет запустить как Windows 95, Windows 98 или Windows Millenium Edition, так и эту версию Windows (конфигурация с несколькими операционными системами). Для создания такой конфигурации необходимо установить предыдущую версию операционной системы на раздел, отформатированный под FAT32 или FAT, сделав его основным (основной раздел может содержать операционную систему). Другие разделы, доступ к которым осуществляется из предыдущих версий Windows, также должны быть отформатированы под FAT32. Более ранние версии Windows могут обращаться только к сетевым NTFS-разделам или томам. NTFS-разделы на локальном компьютере будут недоступны.

FEATURE FAT32 NTFS
Max. Partition Size 2TB 2TB
Max. File Name 8.3 Characters 255 Characters
Max. File Size 4GB 16TB
File/Folder Encryption No Yes
Fault Tolerance No Auto Repair
Security Only Network Local and Network
Compression No Yes
Conversion Possible NotAllowed
Compatibility Win 95/98/2K/2K3/XP Win NT/2K/XP/Vista/7
NTFS VS FAT

История версий и совместимость

ReFS имеет несколько разных версий с разной степенью совместимости между версиями операционной системы. Помимо разрабатываемых версий файловой системы, обычно более поздние версии операционной системы могут монтировать файловые системы, созданные в более ранних версиях ОС (обратная совместимость). Некоторые функции могут быть несовместимы с набором функций ОС. Версию, размер кластера и другие особенности файловой системы можно узнать с помощью команды fsutil fsinfo refsinfo volumename .

  • 1.1 : исходная версия, отформатированная Windows Server 2012.
  • 1.2 : версия по умолчанию, если она отформатирована в Windows 8.1, Windows 10 v1507 to v1607, Windows Server 2012 R2 и если указано ReFSv1 в Windows Server 2016. Может использовать альтернативные потоки данных в Windows Server 2012 R2.
  • 2.2 : версия по умолчанию, отформатированная Windows 10 Preview build 10049 или более ранней. Не может быть установлен в 10061 и более поздних версиях.
  • 2.0 : версия по умолчанию, отформатированная Windows Server 2016 TP2 и TP3. Не удалось подключить в Windows 10 Build 10130 и новее или Windows Server 2016 TP4 и новее.
  • 3.0 : версия по умолчанию, отформатированная Windows Server 2016 TP4 и TP5.
  • 3.1 : версия по умолчанию, отформатированная Windows Server 2016 RTM.
  • 3.2 : версия по умолчанию, отформатированная Windows 10 v1703 и сборкой Windows Server Insider Preview 16237. Может быть отформатирована с помощью Windows 10 Insider Preview 15002 или более поздней версии (хотя стала по умолчанию только где-то между 15002 и 15019). Поддерживает дедупликацию в серверной версии.
  • 3.3 : версия по умолчанию, отформатированная в Windows 10 Enterprise v1709 (возможность создания тома ReFS удалена из всех выпусков, кроме Enterprise и Pro для рабочих станций, начиная со сборки 16226; возможность чтения / записи остается) и Windows Server версии 1709 (начиная со сборки Windows 10 Enterprise Insider Preview 16257 и сборка Windows Server Insider Preview 16257).
  • 3.4 : версия по умолчанию, отформатированная Windows 10 Pro для рабочих станций / Enterprise v1803 и новее, а также серверные версии (включая версию с долгосрочной поддержкой Windows Server 2019).
  • 3.5 : версия по умолчанию, отформатированная Windows 10 Enterprise Insider Preview (сборка 19536 или новее); Добавлена ​​поддержка жестких ссылок (только для свежего отформатированного тома; не поддерживается для томов, обновленных с предыдущих версий).
  • 3.6 : версия по умолчанию, отформатированная Windows 10 Enterprise Insider Preview (сборка 21292 или новее) и Windows Server Insider Preview (сборка 20282 или новее)
  • 3.7 : версия по умолчанию, отформатированная Windows 10 Enterprise Insider Preview (сборка 21313 или новее) и Windows Server Insider Preview (сборка 20303 или новее). Также версия, используемая в Windows Server 2022 и Windows 11 .
Поддержка разных версий ReFS каждой версией Windows
ReFS Windows Server 2012 Windows 8.1, Server 2012 R2 Windows 10 v1507 — v1607 Windows Server 2016 TP2, TP3 Windows Server 2016 TP4, TP5 Окончательная первоначальная версия Windows Server 2016 Windows 10 v1703 Windows 10 v1709, Windows Server 1709 5 Windows 10 v1803 — v1809, Windows Server 2019, 1803 — 1809 5
1.1 Дефолт Да 1 Да 1 Да 1 Да 1 Да 1 Да 1 ? Да 1
1.2 да Дефолт Дефолт да да да да да да
2.0 Нет Нет Нет Нет Дефолт Нет Нет Нет Нет
3.0 Нет Нет Нет Нет Нет Да 2 Да 3 Да 4 Да 6
3.1 Нет Нет Нет Нет Нет Дефолт Да 3 Да 4 Да 6
3.2 Нет Нет Нет Нет Нет Нет Дефолт Да 4 Да 6
3.3 Нет Нет Нет Нет Нет Нет Нет Дефолт Да 6
3,4 Нет Нет Нет Нет Нет Нет Нет Нет Дефолт

Примечания:

1 : В журнал событий записывается следующее сообщение: «Том«?: »Был смонтирован в более старой версии Windows. Некоторые функции могут быть потеряны ».
2 : Windows обновляет его до версии 3.1, когда том монтируется с доступом для записи.
3 : Windows обновляет его до версии 3.2, когда том монтируется с доступом для записи.
4 : Windows обновляет его до версии 3.3, когда том монтируется с доступом для записи.
5. Возможность создания тома ReFS удалена в Windows 10 v1709 (Fall Creators Update 2017), за исключением выпусков Enterprise и Pro для рабочих станций.
6 : Windows обновляет его до версии 3.4, когда том монтируется с доступом для записи.

Типы атрибутов

NTFS поддерживает большее количество предопределенных типов атрибутов. Тип атрибута определяет его назначение и формат представления тела. Полное описание всех атрибутов заняло бы целую книгу, поэтому кратко перечислю лишь наиболее «ходовые» из них. Так, атрибут стандартной информации
$STANDARD_INFORMATION описывает время создания, изменения и последнего доступа к файлу, права доступа, а также некоторую другую вспомогательную информацию (например, квоты).

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

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

  • файл содержит много альтернативных имен или жестких ссылок;
  • файл сильно фрагментирован;
  • файл содержит очень сложный дескриптор безопасности;
  • файл имеет очень много потоков данных (т. е. атрибутов типа
    $DATA).

Атрибут полного имени файла
$FILE_NAME хранит имя файла в соответствующем пространстве имен. Таких атрибутов у файла может быть и несколько. Здесь же хранятся и жесткие ссылки (hard link), если они есть.

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

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

Основными функциями файловой системы являются:

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

История

Файловая система NTFS заменила файловую систему FAT, использовавшуюся в ОС MS-DOS и ОС Windows.

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

Атрибуты

Структурно всякий атрибут состоит из атрибутного заголовка (attribute header) и тела атрибута (attribute body). Заголовок атрибута всегда хранится в файловой записи, расположенной внутри MFT. Тела резидентных атрибутов хранятся там же. Нерезидентные атрибуты хранят свое тело вне MFT, в одном или нескольких кластерах, перечисленных в заголовке данного атрибута в специальном списке. Если 8-разрядное поле, расположенное по смещению
08h байт от начала атрибутного заголовка, равно нулю, то атрибут считается резидентным, а если единице, то атрибут нерезидентен. Любые другие значения недопустимы.

Первые четыре байта атрибутного заголовка определяют его тип. Тип атрибута, в свою очередь, определяет формат представления тела атрибута. В частности, тело атрибута данных (тип:
80h—$DATA) представляет собой «сырую» последовательность байт. Тело атрибута стандартной информации (тип:
10h —
$STANDARD_INFORMATION) описывает время его создания, права доступа и т. д.

Следующие четыре байта заголовка содержат длину атрибута, выражаемую в байтах. Длина нерезидентного атрибута равна сумме длин его тела и заголовка, а длина резидентного атрибута равна длине его заголовка. Если к смещению атрибута добавить его длину, мы получим указатель на следующий атрибут (или маркер конца, если текущий атрибут — последний в цепочке).

Длина тела резидентных атрибутов, выраженная в байтах, хранится в 32-разрядном поле, расположенном по смещению
10h байт от начала атрибутного заголовка. 16-разрядное поле, следующее за его концом, хранит смещение резидентного тела, отсчитываемое от начала атрибутного заголовка. С нерезидентными атрибутами в этом плане все намного сложнее, и для хранения длины их тела используется множество полей. Реальный размер тела атрибута (real size of attribute), выраженный в байтах, хранится в 64-разрядном поле, находящемся по смещению
30h байт от начала атрибутного заголовка. Следующее за ним 64-разрядное поле хранит инициализированный размер потока (initialized data size of the stream), выраженный в байтах. Судя по всему, инициализированный размер потока всегда равен реальному размеру тела атрибута. 64-разрядное поле, расположенное по смещению
28h байт от начала атрибутного заголовка, хранит выделенный размер (allocated size of attribute), выраженный в байтах и равный реальному размеру тела атрибута, округленному до размера кластера (в большую сторону).

Два 64-разрядных поля, расположенные по смещениям
10h и
18h байт от начала атрибутного заголовка, задают первый (starting VCN) и последний (last VCN) номера виртуального кластера, принадлежащего телу нерезидентного атрибута. Виртуальные кластеры представляют собой логические номера кластеров, не зависящие от своего физического расположения на диске. В подавляющем большинстве случаев номер первого кластера тела нерезидентного атрибута равен нулю, а последний — количеству кластеров, занятых телом атрибута, уменьшенному на единицу. 16-разрядное поле, расположенное по смещению
20h от начала атрибутного заголовка, содержит указатель на массив
Data Runs, расположенный внутри этого заголовка и описывающий логический порядок размещения нерезидентного тела атрибута на диске.

Каждый атрибут имеет свой собственный идентификатор (attribute ID), уникальный для данной файловой записи и хранящийся в 16-разрядном поле, расположенном по смещению
0Eh от начала атрибутного заголовка.

Если атрибут имеет имя (attribute Name), то 16-разрядное поле, расположенное по смещению
0Ah байт от атрибутного заголовка, содержит указатель на него. Для безымянных атрибутов оно равно нулю (большинство атрибутов имен не имеют). Имя атрибута хранится в атрибутном заголовке в формате Unicode, а его длина определяется 8-разрядным полем, расположенным по смещению
09h байт от начала атрибутного заголовка. Если тело атрибута сжато, зашифровано или разрежено, 16-разрядное поле флагов, расположенное по смещению
0Ch байт от начала атрибутного заголовка, не равно нулю.

Работа с короткими именами файлов в командной строке

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

  1. Имя файла SFN может содержать не более 8 символов перед точкой. Если их больше, необходимо написать первые 6, затем тильду в качестве седьмого символа и число (обычно 1) в качестве восьмого. Номер отличает его от других файлов с такими же первыми шестью буквами и таким же расширением.
  2. Точки важны и должны использоваться даже для имен папок (если в имени папки есть точка). Если в длинном имени файла / каталога есть несколько точек, используется только последняя из них. Предыдущие точки следует игнорировать. Если после последней точки больше трех символов, используются только первые три.
  3. В целом:
    • Любые пробелы в именах файлов следует игнорировать при преобразовании в SFN.
    • Игнорируйте все точки, кроме последней. Не включайте никакие другие точки, как и пробелы. Используйте последнюю точку, если есть, и следующие символы (до 3). Например, для .manifest будет использоваться только .man.
    • Запятые, квадратные скобки, точки с запятой, знаки = и + заменяются подчеркиванием.
    • Регистр не важен, символы верхнего и нижнего регистра обрабатываются одинаково.

Чтобы точно узнать имена SFN или 8.3 файлов в каталоге

использование: показывает короткие имена, если они есть, и длинные имена.

или: показывает только короткие имена в исходном формате списка DIR.

В операционных системах на базе Windows NT апплеты командной строки ( cmd.exe ) принимают длинные имена файлов с подстановочными знаками (вопросительный знак и звездочка ); длинные имена файлов с пробелами должны быть экранированы (т.е. заключены в одинарные или двойные кавычки).

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

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

Обычно вся информация записывается, хранится и обрабатывается на различных цифровых носителях в виде файлов. Далее, в зависимости от типа файла, кодируется в виде знакомых расширений – *exe, *doc, *pdf и т.д., происходит их открытие и обработка в соответствующем программном обеспечении. Мало кто задумывается, каким образом происходит хранение и обработка цифрового массива в целом на соответствующем носителе. 

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

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

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

На физическом уровне драйверы ФС оптимизируют запись и считывание отдельных частей файлов для ускоренной обработки запросов, фрагментации и «склеивания» хранящейся в ячейках информации. Данный алгоритм получил распространение в большинстве популярных файловых систем на концептуальном уровне в виде иерархической структуры представления метаданных (B-trees). Технология снижает количество самых длительных дисковых операций – позиционирования головок при чтении произвольных блоков. Это позволяет не только ускорить обработку запросов, но и продлить срок службы HDD. В случае с твердотельными накопителями, где принцип записи, хранения и считывания информации отличается от применяемого в жестких дисках, ситуация с выбором оптимальной файловой системы имеет свои нюансы.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: