При работе за компьютером пользователям и системным администраторам время от времени приходится сталкиваться с понятием файловых систем. Обычно выбирать этот элемент приходится при форматировании внешних накопителей, установке/обновлении операционных систем, а также в процессе восстановления данных. Владельцы Windows могут выбрать способ форматирования: быстрый или глубокий, а также определиться с file system – FAT32 и NTFS. В случае установки MacOS и Linux названия рассматриваемых компонентом будут отличаться.
Далее предстоит разобраться с файловыми системами. Необходимо определиться, что они собой представляют, для чего и где используются, какими бывают. Предложенная информация ориентирована на широкий круг лиц. Она в одинаковой степени подойдет как рядовым пользователям, так и практикующим системным администраторам (или иным IT-специалистам).
Определение
Задумываясь, что такое файловая система, пользователи могут столкнуться с различными определениями. Этот элемент описывает порядок, который определяет способ организации, именования и хранения данных на различных носителях. Используется для определения формата содержимого и способа физического хранения файлов.
Файловые системы – это то, что связывает хранилище данных с прикладным программным обеспечением за счет организации доступа к конкретным файлам через взаимодействие API приложений.
Система файлов – порядок хранения файлов на диске или другом информационном носителе. На физическом уровне рассматриваемый компонент используется для оптимизации записи и считывания отдельных частей файлов для ускоренной обработки запросов, фрагментации, соединения хранящихся в ячейках данных.
Ключевые функции
Файловые системы дисков будут отвечать за оптимальное логическое распределение информации на конкретном физическом носителе. Их драйверы используются для организации взаимодействия между непосредственным хранилищем, операционной системой, а также прикладным программным обеспечением.
Существуют различные виды ФС. Грамотный выбор того или иного типа системы файлов для конкретных пользовательских задач оказывает прямое воздействие на скорость обработки информации, принципы распределения и иные функциональные возможности, которые требуются для стабильной работы компьютерных систем. Это некоторая совокупность правил и условий, которые определяют способ организации файлов на информационных носителях.
У file systems существуют различные функции:
- размещение и упорядочивание на носителях данных в виде отдельных файлов;
- определение предельно поддерживаемого информационного объема на конкретном носителе;
- создание, удаление и чтение файлов;
- формирование (назначение) и изменение атрибутов файлов (размер, время создания и изменения, владелец, тип доступа, скрытость, тип файла, имя и так далее);
- определение файловой структуры;
- организация каталогов для логической организации файлов на устройстве;
- защита файлов от хищения/взлома, утраты при системных сбоях.
Это ключевые функции файловых систем дисков и иных носителей. Рассматриваемые элементы решают различные задачи и бывают разных видов.
Задачи
Функционал файловых систем обычно нацелен на решение таких задач как:
- присвоение имен имеющимся на устройстве файлам и документам;
- предоставление программного интерфейса работы с файлами для приложений;
- отображение логической модели файловой системы на физическую организацию хранилища информации;
- поддержка устойчивости системы хранения файлов в процессе сбоя питания, аппаратных и программных ошибок;
- содержание параметров документов, необходимых для грамотного взаимодействия с другими объектами системы (ядрами, программным обеспечением, драйверами и так далее).
Теперь понятно, что представляет собой файловая компьютерная система. На многопользовательских платформах реализуется еще и задача защиты документов от несанкционированного доступа, а также их совместная работа. При открытии файла одним из пользователей для других он же будет доступен в режиме «Только для чтения».
Вся информация о файле сохраняется в специальных областях раздела – томах. Структура справочников напрямую зависит от типа используемой файловой системы. Справочник документов дает возможность ассоциировать числовые идентификаторы уникальных файлов и дополнительную информацию о них с содержимым документа, расположенном в другой области раздела.
Особенности использования в операционных системах
Разные операционные системы используют определенные типы организации документов на физических носителях. Существуют три основных вида ОС:
- Windows от Microsoft;
- MacOS от Apple;
- платформы с открытым исходным кодом на базе Linux.
Все они используют различные виды файловых систем для взаимодействия с физическими носителями. Многие из них предназначаются для конкретных ОС и не поддерживаются остальными платформами. Новые дисковые разделы пользователями создаются достаточно редко – все уже предустановлено. То же самое касается непосредственных настроек структуры организации документов на оборудовании.
У Windows все выглядит просто: NTFS используется для всех дисковых разделов, а FAT32 (или NTFS) – на флеш-картах. При установке NAS (сервера для хранения информации на уровне файлов), в котором задействуется другая ФС, обращать на это внимание не придется. К нему просто происходит подключение по Сети, после чего необходимые документы будут успешно скачиваться на устройство.
На мобильных устройствах с Android часто установлена система файлов ext4 во внутренней памяти, а FAT32 – на microSD. Устройства от компании Apple предлагают самые разные структуры – HFS+, APFS, WTFS и другие. Для таких гаджетов существуют лишь красивые иконки папок и файлов в детализированном графическом интерфейсе.
Больше различных файловых систем у операционных систем на базе ядра Linux. Их настройка и использование требуют от пользователя минимальных навыков программирования. В Linux-дистрибутивах чаще всего встречаются следующие file systems:
- ext2;
- ext3;
- ext4;
- xfs;
- zfs;
- ReiserFS;
- JFS;
- Btrfs.
Другие ФС использовать на Linux не рекомендуется. Результат может оказаться непредсказуемый. Далее каждый предложенный тип файловых систем дисков будет рассмотрен более подробно.
В Windows
Windows – одна из самых популярных и известных ОС. Исходный код первой файловой системы FAT был разработан по договоренности Билла Гейтса с первым наемным рабочим в компании – Марком Макдональдом. Ключевой задачей FAT стала работа с данными в Microsoft 8080/z80 на базе платформы MDOS/MIDAS. Она получила несколько модификаций: FAT12, FAT16 и FAT32. Первые два варианта утратили актуальность. FAT32 успешно используется в современных внешних накопителях. По мере развития технологий в Windows стали использовать более совершенные системы обработки и хранения информации и документов – NTFS и ReFS.
FAT
FAT (или таблицы распределения файлов/файловой системы) используются до сих пор. Числа в названиях модификаций указывают на биты, используемые для перечисления блока ФС. FAT32 стала неким стандартом. Этот вариант устанавливается на большинстве современных информационных носителей по умолчанию. FAT32 совместима не только с последними вышедшими устройствами, но и с устаревшими консолями с USB-гнездами.
FAT32 делит логически пространства на три области:
- сектор, который резервируется для служебных структур;
- табличная форма указателей;
- непосредственная область записи содержимого документов.
Недостаток у FAT32 – это ограничения размера файлов на диске. Он не может быть более 4 Гб. Каждый раздел носителя допускается до 8 Тб. Из-за этого ограничения, FAT32 чаще всего используется в USB-накопителях и иных внешних носителях данных.
Сейчас поддерживается более совершенная файловая система – exFAT. Она является расширенной таблицей размещения файлов. Дает возможность хранить более крупные файлы, чем «классический» FAT32.
NTFS
Это – файловые системы новых технологий. Соответствующая структура хранения впервые появилась в Windows NT в 1995 году. Это основная ФС для Windows. Она расширила допустимый предел документа до 16 ГБ, а разделы диска – до 16 Эб (эксабайт). Использует в своей работе шифрование Encryption File System. С его помощью осуществляется разграничение доступа к данным для разных пользователей. Это своеобразная система безопасности.
NTFS дает возможность использования расширенных файловых имен, включая многоязычность в стандарте UTF Unicode. Встроенное приложение проверки жесткого диска или внешних накопителей на наличие ошибок (chkdsk) повышает надежность и стабильность работы подключенного оборудования, но негативно сказывается на производительности.
ReFS
Рассматривая варианты систем организации файлов в Windows, нужно обратить внимание на ReFS. Это последняя разработка Microsoft для серверов Windows 8 и 10. Ее архитектура организована преимущественно в виде B + -tree. ReFS имеет высокую отказоустойчивость за счет наличия новых опций:
- CoW (copy on write) – невозможность изменения метаданных без их предварительного копирования;
- запись информации на новое дисковое пространство, а не поверх уже имеющихся документов;
- хранение новых копий метаданных при их изменениях на свободном дисковом пространстве с созданием ссылки из старых метаданных.
Такой подход позволяет повысить надежность хранения документов, а также обеспечивает быстрое и легкое восстановление информации по мере необходимости.
MacOS
Задумываясь, какие файловые системы существуют в MacOS, требуется запомнить – Apple использует собственные разработки. Среди них выделяются два ключевых варианта:
- HFS+. Это – более совершенный вариант HFS, ранее используемой на Macintosh. Соответствующий стандарт используется во всех устройствах с системами от компании Apple, включая iPods.
- Кластерная FS Apple Xsan. Она создана из файловых систем StorNext и CentraVision. Используется в расширенных серверных проектах. Она хранит файлы и папки, информацию Finder о просмотре каталогов и так далее.
Нередко новые Apple-устройства практикуют использование новых файловых систем, список которых с каждым годом возрастает.
Linux
Linux – ОС, которая предоставляет возможность работы сразу с несколькими file systems. Каждая из них оптимизирована для решения тех или иных задач. Файловые системы в Линуксе используются не только для работы с файлами на диске, но и для хранения информации в оперативной памяти, доступа к конфигурациям ядра во время работы с устройством. Все они включены в ядро, что позволяет задействовать их в виде корневых FS.
Основные виды рассматриваемой структуры организации документов в Linux уже были представлены. Они имеют такие особенности:
- Ext2/3/4 (Extended FileSystem) – стандартная файловая система компьютера. Она изначально разработана для Minix. Является самой функциональной и наиболее стабильной. Это связано с тем, что кодовая база изменяется редко. Начиная с ext3, в системе используются функции журналирования. Ext4 сейчас поддерживается всеми Linux-дистрибутивами.
- JFS – разработка от IBM, которая стала альтернативой ext. Используется там, где требуется высокий уровень стабильности при минимальном потреблении ресурсов (во многопроцессорных компьютерах). Журнал JFS хранит только метаданные. Это позволяет восстанавливать старые версии документов после сбоев.
- ReiserFS – еще одна альтернатива ext3. В этой файловой системе осуществляется только поддержка LinuxOS. Она имеет динамические размеры блоков, что позволяет упаковывать несколько небольших документов в один «сектор». Это предотвращает фрагментацию и улучшает работу с небольшими файлами. Ключевое недостаток – риск потери данных при сбоях и отключении электроэнергии.
- XFS – ориентирована на файлы большого размера. Диски – до 2 Тб. Обладает высокой скоростью работы с большим документами, функцией отложенного выделения места, увеличение разделов «на лету», имеет незначительный объем служебных данных. Уменьшить размер данных в ZFS не получится, а процедура их восстановления достаточно сложная.
- Btrfs – легко администрируемый способ организации документов на устройстве. У этой файловой системы высокая отказоустойчивость и хорошая производительность. Она используется в виде FS по умолчанию в SUSE Linux и OpenSuse.
Это основные примеры файловых систем, встречающихся в Linux. FAT, HFS, NTFS тоже здесь встречаются, но в качестве дополнительных структур.
Дополнительные структуры
Основные файловые системы персональных компьютеров уже были рассмотрены. В качестве дополнительных FS обычно используются кластерные типы. Они предусматривают поддержку распределенных хранилищ, расширяемость и модульность. Сюда можно отнести:
- ZFS – используется в Sun Solaris OS;
- Apple Zsan – скачок Apple в CentraVision и более поздних версиях StorNext;
- VMFS – разработана VMware для ESX Server;
- JFS1 – оригинальный, но устаревший дизайн системы хранения от IBM – JFS, который используется в старых моделях хранения AIX;
- GFS – глобальная file system для Linux, которая встречается в Red Hat.
Лучше понимать особенности файловых систем и организацию хранения файлов и каталогов помогут специализированные компьютерные курсы. Пример – по системному администрированию. На них с нуля обучат управлять ОС и настраивать их, а также работать с документами и файловыми структурами самых разных типов.