Файловая система ос. Файловые системы Windows. Функции файловой системы

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

Для предоставления удобства работы пользователя с данными, которые хранятся на дисках, ОС заменяет физическую организацию данных её логической моделью. Логическая структура – дерево каталогов, которое отображается на экране программой «Проводник» и т.д.

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

Файловая система включает:

Совокупность всех файлов на логическом диске;

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

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

Каждая ОС имеет свою файловую систему.

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

Распределение дисковой памяти;

Присвоение имени файлу;

Отображение имени файла в соответствующий физический адрес во внешней памяти;

Обеспечение доступа к данным;

Защита и восстановление данных;

Типы файлов

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

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

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

Специальные файлы – это фиктивные файлы, которые соответствуют устройствам ввода-вывода и предназначены для выполнения команд ввода-вывода.

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

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

Простое имя определяет файл в пределах одного каталога. Файла могут иметь одинаковые символьные имена, если они расположены в разных каталогах. «Много файлов – одно простое имя».

Полное имя представляет собой последовательность простых символьных имен всех каталогов, через которые проходит путь от корня до данного файла, и самого имени файла. Полное имя файла однозначно определяет файл в файловой системе. «Один файл – одно полное имя»

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

Если ОС поддерживает несколько устройств внешней памяти (жесткий диск, дисковод, CD ROM), то хранение файлов может быть организовано двумя способами:

1. На каждом из устройств размещается автономная (своя собственная) файловая система, то есть файлы, находящиеся на этом устройстве, описываются свои деревом каталогов ни как не связанных с деревом каталогов другого устройства;

2. Монтирование файловых систем (ОС UNIX). Пользователь имеет возможность объединить файловые системы, находящиеся на разных устройствах, в единую файловую систему, которая будет иметь единое дерево каталогов.

Атрибуты файлов – свойства, приписываемые файлу. Основные атрибуты – Только для чтения, Системный, Скрытый, Архивный.

Файловая система ОС должна предоставить пользователю набор операций для работы с файлами в виде системных вызовов. Этот набор включает системные вызовы: create (создать файл), read (читать), write (запись), close (закрыть) и некоторых других. При работе с одним файлом, как правило, выполняется не одна операция, а последовательность. Например, при работе в текстовом редакторе. Какая бы операция не выполнялась над файлом, ОС должна выполнить ряд универсальных для всех операций действий:

1. По символьному имени файла найти его характеристики, которые хранятся в файловой системе на диске;

2. Скопировать характеристики файла в ОП;

3. На основании характеристик файла проверить права доступа на выполнение запрашиваемой операции (чтение, запись, удаление);

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

Работа с файлом начинается с системного вызова OPEN , который копирует характеристики файла и проверят права доступа, и завершается системным вызовом CLOSE, который освобождает буфер с характеристиками и делает невозможным продолжение работы с файлом без его повторного открытия.

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

Принципы размещения файлов, каталогов и системной информации на конкретном устройстве внешней памяти называется Физической организацией файловой системы.

КОНТРОЛЬНА РОБОТА

з дисциплини

" Информатика и компьютерная техника" на тему:

"Операционные системы"

"Файловые системы"

1. Операционные системы

2. Файловые системы

3. Файловые системы и имена файлов

Список литератури

1. Операционные системы

Операцио́нная систе́ма, ОС (англ. operating system ) - базовый комплекс компьютерных программ, обеспечивающий управление аппаратными средствами компьютера, работу с файлами, ввод и вывод данных, а также выполнение прикладных программ и утилит.

При включении компьютера операционная система загружается в память раньше остальных программ и затем служит платформой и средой для их работы. Помимо вышеуказанных функций ОС может осуществлять и другие, например, предоставление пользовательского интерфейса, сетевое взаимодействие и т.п. С 1990-х наиболее распространёнными операционными системами для персональных компьютеров и серверов являются ОС семейства Microsoft Windows и Windows NT, Mac OS и Mac OS X, системы класса UNIX, и Unix подобные (особенно GNU/Linux).

Операционные системы могут быть классифицированы по базовой технологии ([Юникс] -подобные или подобные Windows), типу лицензии ([собственническое программное обеспечение|проприетарная] или [открытое программное обеспечение|открытая]), развивается ли в настоящее время (устаревшие DOS или NextStep или современные GNU/Linux и Windows), для рабочих станций (DOS, Apple), или для серверов (), [операционная система реального времени|ОС реального времени] и [встроенная операционная система|встроенные ОС] (, ), , или специализированные (управление производством, обучение, и т. п). Назначение и основные возможности программы MS EXCEL. Интерфейс программы. Основные элементы интерфейса. Понятие электронной таблицы, ячейки, строки, столбца, система адресации. Движение по табличному полю. Ввод данных. Типы данных. Редактирование содержимого ячейки. Изменение ширины и высоты ячейки. Свойства ячейки (команда “Формат ячеек”).

2. Файловые системы

Все современные ОС обеспечивают создание файловой системы, которая предназначена для хранения данных на дисках и обеспечения доступа к ним.

Основные функции файловой системы можно разделить на две группы:

Функции для работы с файлами (создание, удаление, переименование файлов и т.д.)

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

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

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

Принцип организации файловой системы - табличный. Данные о том, в каком месте на диске записан файл, хранится в таблице размещения файлов (File Allocation Table, FAT).

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

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

Наименьшей физической единицей хранения данных является сектор. Размер сектора 512 байт. Поскольку размер FAT - таблицы ограничен, то для дисков, размер которых превышает 32 Мбайт, обеспечить адресацию к каждому отдельному сектору не представляется возможным.

В связи с этим группы секторов условно объединяются в кластеры. Кластер является наименьшей единицей адресации к данным. Размер кластера, в отличие от размера сектора, не фиксирован и зависит от емкости диска.

Сначала для дискет и небольших жестких дисков (менее 16 Мбайт) использовалась 12-разрядная версия FAT (так называемая FAT12). Затем в MS-DOS была введена 16-разрядная версия FAT для более крупных дисков.

Операционные системы MS DOS, Win 95, Win NT реализуют 16 - разрядные поля в таблицах размещения файлов. Файловая система FAT32 была введена в Windows 95 OSR2 и поддерживается в Windows 98 и Windows 2000.

FAT32 представляет собой усовершенствованную версию FAT, предназначенную для использования на томах, объем которых превышает 2 Гбайт.

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

В Windows XP применяется FAT32 и NTFS. Более перспективным направлением в развитии файловых систем стал переход к NTFS (New Technology File System - файловая система новой технологии) с длинными именами файлов и надежной системой безопасности.

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

По способам именования файлов различают “короткое" и “длинное” имя.

Согласно соглашению, принятому в MS-DOS, способом именования файлов на компьютерах IBM PC было соглашение 8.3., т.е. имя файла состоит из двух частей: собственно имени и расширения имени. На имя файла отводится 8 символов, а на его расширение - 3 символа.

Имя от расширения отделяется точкой. Как имя, так и расширение могут включать только алфавитно-цифровые символы латинского алфавита. Имена файлов, записанные в соответствии с соглашением 8.3, считаются “короткими".

С появлением операционной системы Windows 95 было введено понятие “длинного" имени. Такое имя может содержать до 256 символов. Этого вполне достаточно для создания содержательных имен файлов. “Длинное” имя может содержать любые символы, кроме девяти специальных: \ /: *? “ < > |.

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

Уникальность имени файла обеспечивается тем, что полным именем файла считается собственное имя файла вместе с путем доступа к нему. Путь доступа к файлу начинается с имени устройства и включает все имена каталогов (папок), через которые проходит. В качестве разделителя используется символ “\” (обратный слеш - обратная косая черта). Например: D: \Documents and Settings\ТВА\Мои документы\lessons-tva\ robots. txt Несмотря на то, что данные о местоположении файлов хранятся в табличной структуре, пользователю они представляются в виде иерархической структуры - людям так удобнее, а все необходимые преобразования берет на себя операционная система.

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

Компонент под названием имя файла является строкой длиной до 255 символов. Эти имена хранятся в файле особого типа, который называется каталогом . Информация о файле в каталоге называется записью каталога и включает, кроме имени файла, указатель на сам файл. Записи каталога могут ссылаться как на другие каталоги, так и на обычные файлы. Таким образом формируется иерархия каталогов и файлов, которая и называется файловой системой filesystem ;

Рисунок 2-2. Небольшая файловая система

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

Файловая система образует дерево, начало которого находится в корневом каталоге , иногда называемому по имени слэш , которое соответствует символу одинарной наклонной черты (/). Корневой каталог содержит файлы; в нашем примере на Рисунке 2.2, он содержит vmunix, копию выполнимого объектного файла ядра. В нем также расположены каталоги; в этом примере он содержит каталог usr. Внутри каталога usr располагается каталог bin, который в основном содержит выполнимый объектный код программ, таких, как ls и vi.

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

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

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

· совокупность всех файлов на диске;

· наборы структур данных для управления файлами, такие, как каталоги файлов, дескрипторы файлов, таблицы свободного и занятого пространства на диске;

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

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

Файл - это определенное количество информации (программа или данные), имеющее имя и хранящееся в долговременной (внешней) памяти.

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

При этом учитываются ограничения ОС как на используемые символы, так и на длину имени. Так, в популярной файловой системе FAT длина имен ограничивается известной схемой 8.3 (8 символов - собственно имя, 3 символа - расширение имени). Современные файловые системы, как правило, поддерживают длинные символьные имена файлов. Например, Windows ХР в своей файловой системе NTFS (New Technology File System - файловая система новой технологии) устанавливает, что имя файла может содержать до 255 символов, не считая завершающего нулевого символа.

Информация записывается на диске по концентрическим дорожкам (трекам), которые делятся на секторы. Количество дорожек и секторов зависит от типа и формата диска. Сектор хранит минимальную порцию информации, которая может быть записана на диск или считана. Ёмкость сектора постоянна и составляет 512 байтов.

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

Pvc 1. Структура диска. (А) дорожка (В) геометрический сектор (С) сектор дорожки (D) кластер


При записи файла на диск ОС записывает номер первого кластера, выделенному файлу, в том каталоге, в котором этот файл создается. Затем ОС записывает номер следующего кластера выделенному файла и т.п. Файловая система NTFS хранит служебную информацию о файлах в главной файловой таблице - Master File Table (MFT).

Служебная информация включает в себя: имя файла, байт атрибута, время модификации, дату модификации, номер первого кластера, с которого начинается запись файла, размер, дескриптор защиты: указывает, кто и какие права имеет на данный файл или папку. Том NTFS состоит из MFT (Master File Table - главная таблица файлов), содержащей каталог файлов, и пространства для хранения файлов. Сама MFT тоже является файлом, и в первой записи описывает именно файл MFT, всего же в таблице файлов NTFS первые 16 записей являются служебными, а с семнадцатой записи и далее идет описание прочих файлов тома. Для большей отказоустойчивости спецификацией предусмотрены копии MFT и сектора начальной загрузки.

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

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

В Windows на вершине иерархии папок находится папка Рабочий стол. Это корневая папка. Следующий уровень представлен папками: Мой компьютер, Корзина и Сетевое окружение (если компьютер подключен к локальной сети).

Путь к файлу. Для того чтобы найти файл в иерархической файловой структуре необходимо указать путь к файлу. В путь к файлу входят записываемые через разделитель "\" логическое имя диска и последовательность имен вложенных друг в друга каталогов, в последнем из которых находится данный нужный файл. Например, путь к файлу "Оптические явления" можно записать так: C:\Рефераты\Физика\Оптические явления.doc. Путь к файлу вместе с именем файла называют полным именем файла.

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

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

Файловая система

Одной из основных задач ОС является предоставление удобств пользователю при работе с данными, хранящимися на дисках. Для этого ОС подменяет физическую структуру хранящихся данных некоторой удобной для пользователя логической моделью, которая реализуется в виде дерева каталогов, выводимого на экран такими утилитами, как Norton Commander, Far Manager или Windows Explorer. Базовым элементом этой модели является файл , который так же, как и файловая система в целом, может характеризоваться как логической, так и физической структурой.

Управление файлами

Файл – именованная область внешней памяти, предназначенная для считывания и записи данных.

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

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

Файловая система включает:Файловая система включает:

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

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

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

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

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

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

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

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

Пример

Файловая система FAT (file allocation table) имеет множество реализаций как система управления файлами

  • Система, разработанная для первых ПК называлась просто FAT (сейчас ее называют просто FAT-12) . Ее разрабатывали для работы с дискетами, и некоторое время она использовалась для работы с жесткими дисками.
  • Потом ее усовершенствовали для работы с жесткими дисками большего объема, и эта новая реализация получила название FAT–16. это название используется и по отношению к СУФ самой MS-DOS.
  • Реализация СУФ для OS/2 называется super-FAT (основное отличие – возможность поддерживать для каждого файла расширенные атрибуты).
  • Есть версия СУФ и для Windows 9x/NT и т.д. (FAT-32).

Типы файлов

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

Обычные файлы могут быть двух типов:

  1. Программные (исполняемые) – представляют собой программы, написанные на командном языке ОС, и выполняют некоторые системные функции (имеют расширения.exe, .com, .bat).
  2. Файлы данных – все прочие типы файлов: текстовые и графические документы, электронные таблицы, базы данных и др.

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

Специальные файлы – это фиктивные файлы, ассоциированные с устройствами ввода/вывода, которые используются для унификации механизма доступа к файлам и внешним устройствам. Специальные файлы позволяют пользователю осуществлять операции ввода/вывода посредством обычных команд записи с файлов или чтения из файлов. Эти команды обрабатываются сначала программами ФС, а затем на некотором этапе выполнения запроса преобразуются ОС в команды управления соответствующим устройством (PRN, LPT1 – для порта принтера (символьные имена, для ОС – это файлы), CON – для клавиатуры).

Пример . Copy con text1 (работа с клавиатурой).

Файловая структура

Файловая структура – вся совокупность файлов на диске и взаимосвязей между ними (порядок хранения файлов на диске).

Виды файловых структур:

  • простая , или одноуровневая : каталог представляет собой линейную последовательность файлов.
  • иерархическая или многоуровневая : каталог сам может входить в состав другого каталога и содержать внутри себя множество файлов и подкаталогов. Иерархическая структура может быть двух видов: «Дерево» и «Сеть». Каталоги образуют «Дерево», если файлу разрешено входить только в один каталог (ОС MS-DOS, Windows) и «Сеть» – если файл может входить сразу в несколько каталогов (UNIX).
  • Файловая структура может быть представлена в виде графа, описывающего иерархию каталогов и файлов:



Типы имен файлов

Файлы идентифицируются именами. Пользователи дают файлам символьные имена , при этом учитываются ограничения ОС как на используемые символы, так и на длину имени. В ранних файловых системах эти границы были весьма узкими. Так в популярной файловой системе FAT длина имен ограничивается известной схемой 8.3 (8 символов — собственно имя, 3 символа — расширение имени), а в ОС UNIX System V имя не может содержать более 14 символов.

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

Например, Windows NT в своей файловой системе NTFS устанавливает, что имя файла может содержать до 255 символов, не считая завершающего нулевого символа.

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

Символьные имена могут быть трех типов: простые, составные и относительные:

  1. Простое имя идентифицирует файл в пределах одного каталога, присваивается файлам с учетом номенклатуры символа и длины имени.
  2. Полное имя представляет собой цепочку простых символьных имен всех каталогов, через которые проходит путь от корня до данного файла, имени диска, имени файла. Таким образом, полное имя является составным , в котором простые имена отделены друг от друга принятым в ОС разделителем.
  3. Файл может быть идентифицирован также относительным именем . Относительное имя файла определяется через понятие «текущий каталог». В каждый момент времени один из каталогов является текущим, причем этот каталог выбирается самим пользователем по команде ОС. Файловая система фиксирует имя текущего каталога, чтобы затем использовать его как дополнение к относительным именам для образования полного имени файла.

В древовидной файловой структуре между файлом и его полным именем имеется взаимно однозначное соответствие – «один файл — одно полное имя». В сетевой файловой структуре файл может входить в несколько каталогов, а значит может иметь несколько полных имен; здесь справедливо соответствие – «один файл — много полных имен».

Для файла 2.doc определить все три типа имени, при условии, что текущим каталогом является каталог 2008_год.

  • Простое имя: 2.doc
  • Полное имя: C:\2008_год\Документы\2.doc
  • Относительное имя: Документы\2.doc

Атрибуты файлов

Важной характеристикой файла являются атрибуты. Атрибуты – это информация, описывающая свойства файлов. Примеры возможных атрибутов файлов:

  • Признак «только для чтения» (Read-Only);
  • Признак «скрытый файл» (Hidden);
  • Признак «системный файл» (System);
  • Признак «архивный файл» (Archive);
  • Тип файла (обычный файл, каталог, специальный файл);
  • Владелец файла;
  • Создатель файла;
  • Пароль для доступа к файлу;
  • Информация о разрешенных операциях доступа к файлу;
  • Время создания, последнего доступа и последнего изменения;
  • Текущий размер файла;
  • Максимальный размер файла;
  • Признак «временный (удалить после завершения процесса)»;
  • Признак блокировки.

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

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

Права доступа к файлу

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

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

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

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

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

Мы привыкли воспринимать информацию на нашем ПК в виде конкретных файлов, аккуратно (или не очень:)) разложенных по папкам. А, между тем, Ваш компьютер работает с данными совсем по иному принципу. На жёстком диске для него не существует цельных файлов. Он "видит" лишь чётко адресованные секторы с байт-кодом. Причём код одного файла не всегда хранится в соседних секторах (так называемая фрагментация данных).

Как же компьютер "понимает", где ему, например, искать наш текстовый документ, который лежит, скажем, на Рабочем столе? За это, оказывается, отвечает файловая система жёсткого диска. И сегодня мы с Вами узнаем, какие бывают файловые системы и каковы их особенности.

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

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

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

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

В первом случае все файлы отображаются в виде единого плоского списка, а во втором - в виде иерархического. Уровень вложений при этом, как правило, неограничен, а ветвление идёт либо только от одного ("root" в UNIX), либо от нескольких корневых каталогов (логические диски в Windows):

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

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

Гораздо же более часто журналируются только логические операции и (опционально) состояние кластеров файловой системы. То есть, в журнал записывается только то, что, скажем, файл с именем "file.txt" размером 52 КБ был записан в такие-то кластеры. Содержимое же самого файла в логе никак не значится. Такой подход позволяет избежать дублирования данных, ускоряет процессы работы с файлами и уменьшает в разы размеры самого журнала. Единственный недостаток при таком способе журналирования - при сбое могут быть потеряны записываемые данные (поскольку их копии нет), но само состояние файловой системы останется работоспособным.

Форматирование

Поскольку мы говорим о файловых системах в контексте современных компьютеров с их жёсткими или SSD-дисками, то большее внимание мы уделим именно многоуровневым ФС с произвольным доступом к кластерам. Наиболее популярными в компьютерном мире сегодня являются: FAT32, NTFS, exFAT, ext3/ext4, ReiserFS и HFS+.

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

Для форматирования можно воспользоваться штатными средствами операционной системы (например, консольными командами Linux или контекстным меню диска в Windows), функциями, доступными на подготовительном этапе установки ОС, или же специальными программами. Единственное, что следует учесть при программном решении, так это то, что Ваша операционная система может не поддерживать выбранную Вами файловую систему без установки дополнительных драйверов (например, ext3/4 в Windows):

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

Осуществляется оно сейчас при помощи специального софта (HDD Low Level Format Tool для Windows) или команд (DD для Linux). При его применении все кластеры жёсткого диска перезаписываются нулями и полностью уничтожается любая разметка. После этого файловая система фактически исчезает и в Windows отображается как RAW . Чтобы получить доступ к диску после такого форматирования, нужно отформатировать его в одной из доступных традиционных файловых систем более высокого уровня.

Особенности файловых систем

Ну а теперь рассмотрим некоторые особенности самых распространённых файловых систем.

FAT32

Одна из самых старых файловых систем для дисков, которая ещё широко используется в наши дни - FAT32 (сокр. англ. "File Allocation Table" - "таблица размещения файлов"). В силу своей распространённости, она поддерживается максимальным числом всевозможного оборудования, начиная с автомагнитол, кончая мощными современными компьютерами. Большинство флеш-накопителей, продаваемых сегодня, тоже отформатированы в FAT32.

Впервые данная ФС появилась в Windows 95 OSR2 в 1996 году, став логическим развитием ещё более ранней FAT16 (1983 год). Одной из основных причин перехода на новую файловую систему стало появление ёмких (по тем временам) жёстких дисков объёмом более 2 ГиБ (гибибайт - более точный вариант гигабайта (109 ) - 230 байт) (максимально возможный размер раздела в FAT16). FAT32 позволила использовать до 268 435 445 кластеров максимум по 32 КБ, что эквивалентно 8 ТиБ на том. Однако, если размер кластера будет стандартным (512 Б), то максимальный размер тома будет лишь чуть более 127 ГБ.

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

Главным же недостатком FAT32 на данный момент является ограничение на максимальный размер файла - 4 ГиБ. Файлы, превышающие данный порог, должны быть разбиты на части, что в свою очередь, затрудняет доступ к ним. Кроме того, FAT32 имеет ещё некоторые ограничения в среде Windows. Например, штатными средствами Вы не сможете создать разделы более 32 ГБ. Поэтому флешки на 64 ГБ и более придётся форматировать либо при помощи специального софта, либо на Linux.

Однако, и в этом случае, хоть доступ к носителю и сохранится, но он будет затруднён "тормозами" как при чтении, так и при записи данных. Поэтому при использовании накопителей объёмом более 32 ГБ лучше отформатировать их в иных файловых системах, вроде exFAT или NTFS.

NTFS

Если линейка Windows 95/98 продолжала традиции уже на тот момент устаревающей операционной системы DOS, то новая линейка NT изначально была направлена на инновации. Поэтому с появлением Windows NT 3.1 в 1993 году специально под неё была создана новая файловая система NTFS (сокр. англ. "New Technology File System" - "файловая система новой технологии").

Эта файловая система до сих пор является основной для всех современных версий Windows, поскольку обеспечивает неплохую скорость работы, поддерживает накопители объёмом до 16 ЭиБ (эксбибайт - 260 ) (при максимальном размере кластера в 64 КБ) без ограничений по размерам файлов и имеет в своём арсенале довольно неплохой функционал. Например, NTFS является журналируемой файловой системой, а также поддерживает распределение ролей пользователей для доступа к отдельным данным, чего не было в той же FAT32.

Как и в FAT32, основой NTFS является таблица, но она являет собой более совершенную базу данных и называется MFT (сокр. англ. "Master File Table" - "главная файловая таблица"). Строки в этой таблице соответствуют файлам, хранящимся на конкретном разделе, а столбцы содержат атрибуты этих файлов (дата создания, размер, права доступа и т.п.).

Кроме того, для повышения отказоустойчивости в NTFS ведётся журнал USN (сокр. англ. "Update Sequence Number" - досл. "номер порядка обновления"). В этот журнал, аналогично таблице FAT32, записываются данные об изменениях того или иного файла. Однако, если в таблице FAT32 записывалось только время последнего доступа к данным, что не давало никаких особых практических выгод, то в USN может сохранятся предыдущее состояние файловой системы, что позволяет восстанавливать его в случае сбоев.

Ещё одной особенностью NTFS является поддержка альтернативных потоков данных (англ. "Alternate Data Streams" - ADS). Изначально они были задуманы для разграничения выполнения различных процессов. Потом (в Windows 2000) использовались для хранения некоторых атрибутов файлов (имя автора, иконка и т.п.), аналогично тому, как это делалось в HFS от MacOS. В современных Windows альтернативные потоки могут хранить практически любую информацию. Этим даже пользуются некоторые вирусы для скрытия своего присутствия в системе.

Дело в том, что альтернативные потоки не пеленгуются Проводником Windows и, по сути, невидимы для пользователей и большинства программ. Однако, Вы можете их просматривать и даже пользоваться ими, например, для скрытия каких-либо данных при помощи специального ПО. Смотреть данные в альтернативных потоках удобно при помощи программы NTFS Stream Explorer , а использовать их для сокрытия файлов при помощи Xp-lore :

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

NTFS изначально была создана исключительно для Windows, однако, сегодня поддерживается большинством медиаплееров (флешки могут быть тоже отформатированы в ней), операционными системами Linux и MacOS (правда, с некоторыми ограничениями на запись). Стоит, однако, отметить слабую поддержку NTFS на популярных игровых консолях. Из них поддержка её есть только у Xbox One.

exFAT

С увеличением во второй половине 2000-х годов объёмов флеш-накопителей стало ясно, что повсеместно используемая файловая система FAT32 скоро исчерпает свой потенциал. Использовать журналируемую NTFS для флешек с их ограниченным количеством циклов перезаписи и более медленной работой оказалось не совсем целесообразно. Поэтому в 2006 году всё та же корпорация Microsoft выпустила в свет новую файловую систему exFAT (сокр. англ. "Extended FAT" - "расширенная FAT") в комплекте с операционной системой Windows Embedded CE 6.0:

Она стала логическим продолжением развития FAT32, поэтому иногда её называют также FAT64. Главным козырем новой файловой системы стало снятие ограничения на размеры файлов и увеличение теоретического предела для дискового раздела до 16 ЭиБ (как в NTFS). При этом, в силу отсутствия журналирования, exFAT сохранила высокую скорость доступа к данным и компактность.

Ещё одним преимуществом exFAT стала возможность увеличения размера кластера до 32 МБ, что существенно позволило оптимизировать хранение больших файлов (например, видео). Кроме того, хранение данных в exFAT организовано таким образом, чтобы максимально минимизировать процессы фрагментации и перезаписи одних и тех же кластеров. Всё это сделано, опять же, в угоду оптимизации работы флеш-накопителей, для которых и была изначально разработана файловая система.

В силу того, что exFAT - относительно новая ФС, имеются некоторые ограничения по её использованию. В Windows полная её поддержка появилась лишь в Vista SP1 (хотя есть обновление для Windows XP SP2 - ). MacOS поддерживает exFAT с версии 10.6.5, а для Linux требуется устанавливать отдельный драйвер (в некоторых дистрибутивах он встроен, а в некоторых поддерживается только чтение).

ext2, ext3 и ext4

Если в среде Windows уже не первое десятилетие "правит бал" NTFS, то в лагере Linux традиционно царит очень большое разнообразие, в том числе и среди применяемых файловых систем. Правда, есть одна их линейка, которая используется большинством дистрибутивов по умолчанию. Это файловые системы семейства ext (англ. сокр. "Extended File System" - "расширенная файловая система"), которые с 1992 года изначально создавались именно под Linux.

Наибольшее распространение получила вторая версия ext2 , которая, как и NTFS, появилась ещё в 1993 году. Правда, в отличии от NTFS, ext2 не является журналируемой файловой системой. Это одновременно и её плюс, и минус. Плюс в том, что она является одной из самых быстрых ФС на запись данных. Также отсутствие журналирования делает предпочтительным её использование на флеш-накопителях и SSD-дисках. Платой же за быстродействие является низкая отказоустойчивость.

С целью улучшить стабильность ext2 в 2001 году была разработана её улучшенная версия ext3 . В ней появилось журналирование, которое может работать в трёх режимах: "writeback" (записываются только метаданные файловой системы), "ordered" (запись в журнал производится всегда ПЕРЕД изменением ФС) и "journal" (полный бэкап метаданных и самих изменяемых файлов).

В остальном особых новшеств не появилось. Да и скорость работы, по сравнению с предыдущей версией, существенно снизилась, поэтому уже в 2006 году появился прототип следующей стадии развития файловой системы ext4 , окончательный релиз которой состоялся в 2008 году. Четвёртая расширенная файловая система сохранила журналирование, но существенно повысила скорость чтения данных, которая стала даже выше, чем в ext2!

Из других новшеств стоит отметить увеличение максимального объёма раздела диска до 1 ЭиБ (с 32 ТиБ в ext2 и ext3), увеличение максимального размера файла до 16 ТиБ (с 2 ТиБ в более ранних версиях) и появление механизма экстентов (от англ. "extent" - "пространство"). Последний позволяет обращаться не к одиночным блокам, как это реализовано в других ФС (и в ext3 в частности), а к объединённым пространствам диска из последовательно идущих кластеров, общим объёмом до 128 МБ, что существенно повышает производительность и уменьшает фрагментацию данных.

На сегодняшний день поддержка файловых систем семейства ext той или иной версии присутствует по умолчанию почти во всех Linux"ах. Из них, практически все системы 2010 года выпуска и старше поддерживают ext4. Для доступа к ext-разделам в Windows и MacOS требуется устанавливать специальное ПО и/или драйверы.

ReiserFS

Ещё одной молодой и перспективной файловой системой "родом" из мира Linux является ReiserFS . Стараниями команды американского разработчика Ганса Райзера она стала первой журналируемой ФС, которая была добавлена в ядро Linux версии 2.4.1 в 2001 году, как раз перед добавлением поддержки ext3.

Фактически, как и появившаяся вслед за ней ext3, ReiserFS дала возможность использовать в Linux полное или частичное журналирование. Однако, в отличие от ext3, имела больший допустимый размер файла (до 8 ТиБ против 2) и максимальную длину имени файла равную 255 символам, а не байтам (4032 байт).

Также одной из особенностей ReiserFS, за которую она полюбилась пользователям стала возможность менять размер раздела без его размонтирования. Подобной функции не было у ext2, но позднее она появилась в ext3, хотя ReiserFS в этом плане тоже была первой.

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

Правда, несмотря на ряд нововведений, улучшений и исправлений, новая файловая система осталась уделом немногих энтузиастов. Дело в том, что в 2006 году Ганс Райзер совершил убийство собственной жены и был взят под стражу, а позднее и заключён в тюрьму. Соответственно, его компания Namesys, которая занималась разработкой Reiser4, была расформирована. С тех пор поддержку и доработку файловой системы осуществляет группа разработчиков под курированием русского разработчика Эдуарда Шишкина.

В конечном итоге поддержка Reiser4 в ядро Linux до сих пор так и не добавлена, но ReiserFS имеется. Поэтому многие продолжают использовать её в различных сборках как файловую систему по умолчанию.

HFS

Говоря о файловых системах, характерных для различных операционок, нельзя не упомянуть о MacOS с её HFS (сокр. англ. "Hierarchical File System" - "иерархическая файловая система"). Первые версии данной системы появились ещё в 1985 году вместе с операционной системой Macintosh System 1.0:

По современным меркам данная файловая система была весьма малоэффективной, поэтому в 1998 года вместе с MacOS 8.1 появилась её улучшенная версия под названием HFS+ или Mac OS Extended , которая поддерживается до сегодняшнего дня.

Как и предшественница, HFS+ делит диск на блоки по 512 КБ (по умолчанию), которые объединяет в кластеры, ответственные за хранение тех или иных файлов. Однако, новая ФС имеет 32-битную адресацию (вместо 16-битной). Это позволяет избежать ограничений на размер записываемого файла и обеспечивает поддержку максимального размера тома до 8 ЭиБ (а в последних ревизиях до 16 ЭиБ).

Из других преимуществ HFS+ нужно отметить журналирование (под него выделяется целый скрытый том под названием HFSJ), а также многопоточность. Причём, если в NTFS альтернативные потоки не имеют особо чёткой регламентации на типы хранимой информации, то в HFS+ конкретно выделяется два потока: поток данных (хранит основные данные файлов) и поток с ресурсами (хранит метаданные файлов).

HFS+ практически идеальна для традиционных HDD, однако, как и рассмотренная выше ReiserFS, имеет не самые эффективные алгоритмы борьбы с фрагментацией данных. Поэтому с распространением SSD-накопителей и внедрением их в технику Apple всё чаще на смену ей приходит файловая система, разработанная в 2016 году APFS (сокр. англ. "Apple File System" - "Файловая система Apple"), появившаяся в настольной macOS High Sierra (10.13) и мобильной iOS 10.3.

Во многом APFS сходна с exFAT в плане оптимизации процессов чтения/записи, однако, в отличие от неё, имеет журналирование, поддерживает распределение прав доступа к данным, имеет улучшенные алгоритмы шифрования и сжатия данных, а также может работать с томами размером аж до 9 ЙиБ (не смейтесь - "йобибайт ") за счёт 64-битной адресации!

Единственным минусом APFS является то, что она поддерживается лишь современной техникой Apple и пока недоступна на других платформах.

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

Сегодня мы рассмотрели много различных популярных файловых систем, поэтому не мешало бы свести все данные о них в единую таблицу:

Характеристики / ФС FAT32 NTFS exFAT ext2 ext4 ReiserFS HFS+ APFS
Год внедрения 1996 1993 2008 1993 2006 2001 1998 2016
Сфера применения Windows, съёмные накопители, Linux съёмные накопители, Windows Vista+, Linux Linux, съёмные накопители Linux Linux MacOS MacOS
Максимальный размер файла 4 ГиБ 16 ЭиБ 16 ЭиБ 2 ТиБ 16 ТиБ 8 ТиБ 16 ЭиБ 9 ЙиБ
Максимальный размер тома 8 ТиБ 16 ЭиБ 64 ЗиБ (зебибайт) 32 ТиБ 1 ЭиБ 16 ТиБ 16 ЭиБ 9 ЙиБ
Журналирование - + - - + + + +
Управление правами доступа - + - - + + + +

Выводы

Как видим, для каждой операционной системы существует своя оптимальная файловая система, которая позволяет наиболее эффективно работать с данными. Например, для Windows - это NTFS, для MacOS - HFS+ или APFS. Исключением из правила можно считать лишь многочисленные дистрибутивы Linux. Здесь имеется не один десяток файловых систем, каждая со своими преимуществами и недостатками.

Большинству же пользователей Windows стоит запомнить лишь три наиболее распространённые ФС: FAT32 - для небольших флешек и старого оборудования, NTFS - для большинства компьютеров и exFAT - для ёмких флеш-накопителей и внешних SSD-дисков (об актуальности форматирования системного диска в exFAT до сих пор спорят в виду отсутствия журналирования и большей подверженности сбоям).

P.S. Разрешается свободно копировать и цитировать данную статью при условии указания открытой активной ссылки на источник и сохранения авторства Руслана Тертышного.