Экскурс в файловые системы: особенности и сферы применения
- Что такое файловая система
- Основные функции файловых систем
- Файловые системы в операционных системах
- Основные файловые системы
- Вывод
Что такое файловая система

Скриншот из “Управление дисками” Windows, где видны различные файловые системы на накопителях.
Основные функции файловых систем
- Упорядочивание записываемых файлов.
- Точное определение количества данных, которые могут быть записаны (и постоянная актуализация этого параметра).
- Формирование, считывание, стирание файлов.
- Формирование структуры файлов.
- Присвоение и изменение атрибутов файла, таких как время создания, правила доступа для чтения или изменения и множества других.
- Ускорение поиска нужных программ или пользователю файлов.
- Создание каталогов для логической организации размещения файлов.
- Защита информации на носителе от несанкционированного доступа.
- Предоставление различным объектам системы параметров файлов для обеспечения правильного взаимодействия между ними.

Дефрагментация накопителя на базе NTFS средствами Windows
Файловые системы в операционных системах
Любые современные ОС нуждаются в файловой системе для взаимодействия с накопителями. При этом зачастую каждая операционная система может взаимодействовать только с определенной файловой системой, уникальной именно для нее. В большинстве случаев они являются предустановленными, но в определенных ситуациях пользователь может настраивать разновидность файловой системы и часть ее параметров, например, размер кластера. Как правило, такие возможности появляются при форматировании диска или его раздела.Наименование файловой системы | Windows | Linux | MacOS |
NTFS | ✅ | ⛔ | ⛔ |
REFS | ✅ | ⛔ | ⛔ |
FAT | ✅ | ✅ | ✅ |
exFAT | ✅ | ✅ | ✅ |
APFS | ⛔ | ⛔ | ✅ |
ZFS | ⛔ | ✅ | ⛔ |
XFS | ⛔ | ✅ | ⛔ |
Файловые системы в Windows
Основной файловой системой для ОС Windows длительное время была созданная в далеком 1977 FAT, которая применяется и сейчас в версии FAT32 и ExFAT. Также операционные системы от Microsoft используют более совершенные, созданные гораздо позже NTFS и ReFS, хотя последняя пользуется существенно меньшей популярностью, а NTFS сейчас по сути является стандартом для «окон».Файловые системы в Linux
Эта ОС предлагает пользователям широкий выбор файловых систем, причем можно одновременно использовать несколько специализированных под решение конкретных задач и даже самостоятельно вносить изменения в них.Главная особенность ФС в Linux – участие не только в работе с данными на носителях, но и в процессе передачи информации в оперативку и ряде других нетипичных задач. Основной для Linux является EXT различных версий, также применяются XFS, ZFS, ряд других, менее популярных.
Файловые системы в MacOS
В вычислительной технике от Apple используются уникальные файловые системы, разработанные исключительно для нее и не работающие на других ОС. Наиболее распространенной является APFS, которая применяется во всех линейках продукции компании. Она является наиболее продвинутой на данный момент системой от Apple, создана на основе HFS+, которая применялась в компьютерах бренда Macintosch.Также существует Apple Xsan, разработанная для топовых серверных продуктов, и предоставляющая расширенные возможности и специализированные инструменты.
Основные файловые системы
Хотя существует множество ФС, как универсальных, так и специализированных, широкую популярность получили далеко не все. Это связано с особенностями функционирования различных видов ФС и рядом других нюансов. Ниже мы подробнее рассмотрим наиболее популярные варианты файловых систем и особенности, позволившие им стать широко распространенными.NTFS
Что такое NTFS? Это стандартная файловая система Windows, которая используется практически повсеместно, на любом компьютере с этой ОС. Первая версия была выпущена в 1995 году для операционных систем на базе Windows NT. С ней работают и все актуальные версии Windows, в том числе 10 и 11.У NTFS есть и ряд недостатков, основной – накапливающаяся со временем фрагментация файлов, что особенно критично при сохранении информации на HDD, так как такие диски отличаются низкой скоростью чтения мелкоблочных и сильно фрагментированных данных. Для ее устранения необходимо регулярно проводить дефрагментацию встроенными инструментами Windows или сторонними программами. Для SSD дисков и флэш накопителей эта проблема неактуальна, так как из-за особенностей их работы фрагментация на производительность почти не влияет.

Диск отформатированный в формате NTFS в рамках загрузочного накопителя Windows
REFS
Это новейшая файловая система от Microsoft, которая используется в серверных ОС начиная с Windows Server 2012. Главное достоинство – предельно высокая отказоустойчивость. Этого удалось достичь за счет внедрения уникальных функций:- CoW. Обеспечивает обязательное копирование метаданных при записи информации.
- Информация всегда записывается на «свежее» дисковое пространство, а не «поверх» записанных ранее файлов.
- При внесении изменений в метаданные, копия сохраняется в свободном объеме диска, после завершения сохранения внутренние инструменты ФС создают ссылку из предыдущей версии метаданных на новую.

Возможность форматирования накопителя в режиме REFS на Windows Server 2019
FAT и exFAT
FAT – это одна из первых файловых систем, появившаяся еще во времена MS-DOS, причем она до сих пор находит применение, в основном ее используют для хранения данных в флэш-накопителях. Самая совершенная версия на данный момент – ExFat, но наиболее распространенной является FAT32, которая является неофициальным отраслевым стандартом и по умолчанию используется, например, для форматирования любых флэшек.- Простоту. Что такое FAT? По сути это таблица размещения файлов на диске, которая позволяет отслеживать их расположение. Поэтому нет необходимости выделять серьезные вычислительные ресурсы для работы системы. Именно поэтому FAT до сих пор применяется и особенно популярна на устройствах с ограниченными вычислительными ресурсами, такими как флэш-накопители.
- Возможности восстановления данных. Из-за особенности архитектуры этой системы, процесс восстановления информации после сбоев достаточно прост и большую часть утерянных данных можно успешно восстановить.
- Совместимость. Система является базовой для многих версий ОС от разных компаний, даже максимально закрытой MacOS, так как для ее использования нет необходимости в дополнительном программном обеспечении.

Ошибка перемещения файла объемом превышающим 4Gb на накопитель с ФС FAT32

Файлы объемом свыше 4GB без проблем записываются на exFAT накопители
EXT4
Эта файловая система специфична для ОС Linux и является доработанной версией EXT3. Как и третья версия, четвертая поддерживает журналирование, а основные доработки коснулись самой структуры хранения данных.- Колоссальный размер файловой системы и файлов. EXT4 обеспечивает полную поддержку файлов размером до 16 тебибайт (двойка в 44-й степени), а размер раздела диска может составлять до 1 эксбибайта (двойка в 60-й степени).
- Механизм протяженной записи файлов. Позволяет существенно снизить степень фрагментации и повысить общую производительность при использовании системы хранения данных на основе HDD.
- Групповая запись блоков. Эта функция позволяет отложить непосредственную запись, чтобы записывать данные не поблочно, а сразу группами блоков. Это дополнительно повышает скорость работы дисковой подсистемы и снижает степень фрагментации, но создает риск потери данных при внезапных сбоях питания, так как информация до момента записи хранится в ОЗУ.
Сейчас поддержка EXT4 реализована во всех актуальных дистрибутивах Linux, ОС Windows эту систему не поддерживают, но существуют сторонние утилиты, которые позволяют работать с дисками на EXT4 из среды Windows.

Результат вывода команды df -Th на базе Red Hat Enterprise Linux. Видно что файлы системы расположены сразу на ETX4, XFS и vFAT
Apple File System (APFS)
Эта файловая система создана исключительно для работы с техникой Apple и не поддерживается другими устройствами. Является апгрейдом HFS+, которая была доработана специалистами «яблочной компании», новая версия и получила название APFS, ее официальный релиз состоялся в 2017 году.
Файловая система APFS развернутая на SSD 256GB Apple Macbook
ZFS
Это одна из самых продвинутых файловых систем из существующих на сегодняшний день. Работу с ней поддерживают операционные системы Linux и FreeBSD. К особенностям этой ZFS можно отнести:- Пул хранения. Это особая концепция организации работы, которая позволяет объединять несколько физических дисков в единый логический пул. Таким образом повышается гибкость настройки, упрощается управление потоками информации.
- CoW. Это обеспечивает защиту от потери данных, так как предыдущая версия данных не перезаписывается.
- Снапшоты. Это одна из уникальных функций ZFS, которая работает за счет использования CoW. Она отвечает за создание регулярных «снимков» состояния файловой системы, что позволяет детально отслеживать вносимые изменения и при необходимости быстро сделать откат к предыдущему снимку, сделанному до внесения изменений, спровоцировавших сбой или повреждение данных. При этом изменения, внесенные после того как сделан снимок будут потеряны.
- RAID-Z. В ZFS интегрирован инструментарий для создания RAID-массивов, который позволяет формировать их без использования сторонних приложений и драйверов. Но функционал достаточно ограничен и по сути является доработанной версией RAID-5, другие варианты создания массивов не поддерживаются.
- Безграничное хранилище. На момент создания ZFS была единственной в мире 128-битной ФС. Это означает, что потенциальная емкость настолько велика, что достичь ее на практике в обозримом историческом будущем не выйдет.

Дисковый пул на базе ZFS из одного диска vdev
XFS
Это одна из популярных ФС для ОС Linux, которая продолжает сохранять свои позиции несмотря на солидный возраст (релиз состоялся в 1994 году). В число достоинств входят:- Высокая производительность. XFS оптимизирована для эффективной работы с big data и обеспечивает высокую скорость ввода-вывода, особенно эффективно справляется с большими объемами параллельных операций.
- Журналирование. Обеспечивает дополнительную защиту от потери данных при сбоях.
- Поддержка крупных файлов. Это 64-битная файловая система, которая обеспечивает поддержку файлов до 8 эксабайт, а общий объем раздела может составлять до 16 эксабайт.
- Продвинутая дефрагментация. XFS оснащена продвинутыми инструментами для дефрагментации «на лету», а также проведения процедуры в онлайн режиме.