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

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

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

Файловая система осуществляет работу с данными на диске, основываясь на адресах секторов.

Дорожка и сектор дискаCHS (от англ. Cylinder, Head, Sector — цилиндр, головка, сектор) — система адресации сектора, как минимальной единицы хранения данных в накопителях на жёстких магнитных дисках, накопителях на гибких магнитных дисках и схожих устройствах, основанная на использовании физических адресов геометрии дискового накопителя (в не дисковых накопителях — лентах, сетевых системах хранения, твердотельных накопителях — не используется).

https://ru.wikipedia.org/wiki/CHS

 

Работа с программами основывается на именах файлов.

Цели, состав и функции

Цели использования файловой системы:

  • Экранирование физической организации долговременного хранилища данных.
  • Создание простой модели (логической) этого хранилища.
  • Предоставление программам и пользователям удобного набора команд для манипулирования файлами.

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

  1. Все файлы на диске.
  2. Наборы структур данных, которые используются для управления файлами.
  3. Комплекс системных программных средств которые реализуют различные операции над файлами (создание, запись, чтение, поиск и другие).

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

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

Какие бывают файловые системы

Для Windows используются два файловые системы:

  1. FAT (File Allocation Table).
  2. NTFS (New Technology File System).

Для UNIX систем это:

  1. UFS (Unix File System).
  2. S5 (применительно к System V).

Для Linux:

  1. Ext (Extended File System).
  2. Reiser.

Физическая организация файловых систем

Обычные  HDD диски состоят из:

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

Организация физического диска

 

Логические диски

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

Логический диск или раздел это часть (или весь) физического диска, которую операционная система представляет пользователю как логическое устройство.

На одном логическом диске может использоваться только одна файловая система.

На моем примере.

Логические диски

В моем случае диск C это часть физического SSD диска. Диски D и E — полностью два физических диска. Часто один физический диск разбивают на два логически C и D.

Физические диски

Возможные варианты организации логических дисков:

  • Один физический – один логический.
  • Один физический – несколько логических.
  • Несколько физических – один логический.

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

RAID (англ. Redundant Array of Independent Disks — избыточный массив независимых (самостоятельных) дисков) — технология виртуализации данных для объединения нескольких физических дисковых устройств в логический модуль для повышения отказоустойчивости и/или производительности.

https://ru.wikipedia.org/wiki/RAID

На картинке выше видно что один диск (диск C) помечен как загружаемый (системный) иконкой слева.

Высокоуровневое форматирование диска

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

При форматировании пространство логического диска разбивается на кластеры определенного размера.

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

При форматировании на диск записывается следующая информация:

  1. Загрузчик операционной системы.
  2. Сведения о границах областей отведенных под файлы и каталоги.
  3. Информация о поврежденных областях.
  4. Информация о доступном и неиспользуемом пространстве.
Структура файловой системы
Структура файловой системы

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

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

В файловой системе NTFS данные организуются следующим образом.

Организация данных в NTFS
Организация данных в NTFS

Возникает вопрос, а что же такое файл?

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

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

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

Типы файлов

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

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

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

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

Иерархическая структура файловой системы состоит из следующих элементов:

  • Дерево – файл может входить только в один каталог.
  • Сеть – файл может входить в несколько каталогов.

Корневым называют каталог верхнего уровня.

Структура файловой системы
Иерархическая структура файловой системы

Монтирование логических дисков

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

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

Возможности файловой системы

Учет свободных кластеров

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

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

Дисковые квоты

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

Гибкий лимит – при превышении гибкого лимита во время регистрации пользователю выдается предупреждение, и счетчик предупреждений уменьшается на 1. Если счетчик равен 0, то в регистрации отказывается.

Жесткий лимит – лимит который не может быть превышен.

Резервное копирование

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

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

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

Физическое резервное копирование  это последовательное копирование всех кластеров диска.

Логическое резервное копирование это проверка каталогов и сохранение содержащихся в них информации.

Преимущества физического копирования:

  • простота реализации;
  • высокая скорость.

Недостатки:

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

Логическое резервирование происходит следующим образом:

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

Далее создается резервная копия.

Восстановление файловой системы из резервной копии происходит следующим образом:

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

Теперь вы знаете основы файловых систем.

 


Анатолий Бузов
Анатолий Бузов / об авторе

Обучаю HTML, CSS, PHP. Создаю и продвигаю сайты, скрипты и программы. Занимаюсь информационной безопасностью. Рассмотрю различные виды сотрудничества.


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *