Какие задачи решает файловая система

Обновлено: 05.07.2024

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

Чем отличаются файловые системы и для чего они нужны разберем в этой статье.

Что такое ФС?

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

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

  • Фрагментация файлов и их распределение на носителе.
  • Поиск файла при запросе программ.
  • Участие в создании, чтении и удалении файлов.
  • Работа с атрибутами файлов: изменение названия, размера, времени последнего изменения, доступ к файлу и многое другое.
  • Каталогизация и организация файлов.
  • Защита файлов от несанкционированного доступа и сбоев системы.
  • Определение права доступа к файлам.
  • Восстановление информации в случае сбоев.

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

Файловых систем довольно много. Но рядовым пользователям с операционной системой Windows на десктопном ПК знакомы только две. О них и поговорим подробнее.

FAT32

FAT – одна из старейших файловых систем, которая была разработана еще в 1977 году программистами компании Microsoft для гибких дисков.

За период эксплуатации выпускалось несколько версий, которые отличались от предыдущих объемами томов и файлов, которыми способны оперировать.

Современная версия FAT32 вышла в 1995 году. Она может работать с томами размером до 32 ГБ и файлами размером до 4 ГБ. При этом система не работает с накопителями объемом более 8 Тб. Поэтому сегодня FAT32 используется в основном только на флешках, картах памяти фотоаппаратов и музыкальных плееров.

Структура накопителя с FAT32 имеет три области:

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

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

Однако несмотря на очевидные недостатки, система все еще востребована, и даже предоставляет некоторые преимущества:

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

NTFS

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

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

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

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

В отличие от предыдущей файловой системы, NTFS может работать с томами объемом 8 ПБ (1 петабайт – 1015 байт), и оперировать более чем 4 миллиардами файлов.

Таким образом NTFS – современное решение для пользовательского сегмента, позволяющее работать с твердотельными накопителями и жесткими дисками большого объема, имеющими несколько разделов.

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

На мобильных устройствах с ОС Android используется файловая система ext2/ext4, но только в установленном накопителе. Съемные карты памяти работают на системе FAT32.

Файловая система exFAT – модификация FAT32, отличающаяся возможностью работы с файлами размером более 4 ГБ и имеющая более динамичную систему поиска. Ее использование ограничено лицензионным соглашением.

ReFS – новейшая разработка Microsoft для ОС Windows 8 и Windows 10 Enterprise и Pro для рабочих станций. Возможность создания тома ReFS удалена в Windows 10 Fall Creators Update 2017. Файловая система ReFS отличается высокой степенью надежности хранения файлов и легким их восстановлением в случае сбоя.

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

Компания Apple использует собственные файловые системы HFS+ и Apple Xsan.

В дистрибутивах Linux, в зависимости от назначения устройства, используется около десятка файловых систем. Самые распространенные в пользовательском сегменте: Ext2, Ext3, Ext4.

Типы файловых систем

Рядовому пользователю компьютерных электронных устройств редко, но приходится сталкиваться с таким понятием, как «выбор файловой системы». Чаще всего это происходит при необходимости форматирования внешних накопителей (флешек, microSD), установке операционных систем, восстановлении данных на проблемных носителях, в том числе жестких дисках. Пользователям Windows предлагается выбрать тип файловой системы, FAT32 или NTFS, и способ форматирования (быстрое/глубокое). Дополнительно можно установить размер кластера. При использовании ОС Linux и macOS названия файловых систем могут отличаться.

Возникает логичный вопрос: что такое файловая система и в чем ее предназначение? В данной статье дадим ответы на основные вопросы касательно наиболее распространенных ФС.

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

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

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

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

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

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

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

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

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

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

VDS Timeweb арендовать

Задачи файловой системы

Функционал файловой системы нацелен на решение следующих задач:

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

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

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

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

Существует три основных вида операционных систем, используемых для управления любыми информационными устройствами: Windows компании Microsoft, macOS разработки Apple и операционные системы с открытым исходным кодом на базе Linux. Все они, для взаимодействия с физическими носителями, используют различные типы файловых систем, многие из которых дружат только со «своей» операционкой. В большинстве случаев они являются предустановленными, рядовые пользователи редко создают новые дисковые разделы и еще реже задумываются об их настройках.

В случае с Windows все выглядит достаточно просто: NTFS на всех дисковых разделах и FAT32 (или NTFS) на флешках. Если установлен NAS (сервер для хранения данных на файловом уровне), и в нем используется какая-то другая файловая система, то практически никто не обращает на это внимания. К нему просто подключаются по сети и качают файлы.

На мобильных гаджетах с ОС Android чаще всего установлена ФС версии ext4 во внутренней памяти и FAT32 на карточках microSD. Владельцы продукции Apple зачастую вообще не имеют представления, какая файловая система используется на их устройствах – HFS+, HFSX, APFS, WTFS или другая. Для них существуют лишь красивые значки папок и файлов в графическом интерфейсе.

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

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

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

Исходный код файловой системы, получившей название FAT, был разработан по личной договоренности владельца Microsoft Билла Гейтса с первым наемным сотрудником компании Марком Макдональдом в 1977 году. Основной задачей FAT была работа с данными в операционной системе Microsoft 8080/Z80 на базе платформы MDOS/MIDAS. Файловая система FAT претерпела несколько модификаций – FAT12, FAT16 и, наконец, FAT32, которая используется сейчас в большинстве внешних накопителей. Основным отличием каждой версии является преодоление ограниченного объема доступной для хранения информации. В дальнейшем были разработаны еще две более совершенные системы обработки и хранения данных – NTFS и ReFS.

FAT (таблица распределения файлов)

Числа в FAT12, FAT16 и FAT32 обозначают количество бит, используемых для перечисления блока файловой системы. FAT32 является фактическим стандартом и устанавливается на большинстве видов сменных носителей по умолчанию. Одной из особенностей этой версии ФС является возможность применения не только на современных моделях компьютеров, но и в устаревших устройствах и консолях, снабженных разъемом USB.

Пространство FAT32 логически разделено на три сопредельные области:

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

К недостатком стандарта FAT32 относится ограничение размера файлов на диске до 4 Гб и всего раздела в пределах 8 Тб. По этой причине данная файловая система чаще всего используется в USB-накопителях и других внешних носителях информации. Для установки последней версии ОС Microsoft Windows 10 на внутреннем носителе потребуется более продвинутая файловая система.

С целью устранения ограничений, присущих FAT32, корпорация Microsoft разработала обновленную версию файловой системы exFAT (расширенная таблица размещения файлов). Новая ФС очень схожа со своим предшественником, но позволяет пользователям хранить файлы намного большего размера, чем четыре гигабайта. В exFAT значительно снижено число перезаписей секторов, ответственных за непосредственное хранение информации. Функция очень важна для твердотельных накопителей ввиду необратимого изнашивания ячеек после определенного количества операций записи. Продукт exFAT совместим с операционными системами Mac, Android и Windows. Для Linux понадобится вспомогательное программное обеспечение.

NTFS (файловая система новой технологии)

Стандарт NTFS разработан с целью устранения недостатков, присущих более ранним версиям ФС. Впервые он был реализован в Windows NT в 1995 году, и в настоящее время является основной файловой системой для Windows. Система NTFS расширила допустимый предел размера файлов до шестнадцати гигабайт, поддерживает разделы диска до 16 Эб (эксабайт, 10 18 байт ). Использование системы шифрования Encryption File System (метод «прозрачного шифрования») осуществляет разграничение доступа к данным для различных пользователей, предотвращает несанкционированный доступ к содержимому файла. Файловая система позволяет использовать расширенные имена файлов, включая поддержку многоязычности в стандарте юникода UTF, в том числе в формате кириллицы. Встроенное приложение проверки жесткого диска или внешнего накопителя на ошибки файловой системы chkdsk повышает надежность работы харда, но отрицательно влияет на производительность.

ReFS (Resilient File System)

Последняя разработка Microsoft, доступная для серверов Windows 8 и 10. Архитектура файловой системы в основном организована в виде B + -tree. Файловая система ReFS обладает высокой отказоустойчивостью благодаря реализации новых функций:

  • Copy-on-Write (CoW) – никакие метаданные не изменяются без копирования;
  • данные записываются на новое дисковое пространство, а не поверх существующих файлов;
  • при модификации метаданных новая копия хранится в свободном дисковом пространстве, затем система создает ссылку из старых метаданных на новую версию.

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

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

Для операционной системы macOS компания Apple использует собственные разработки файловых систем:

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

  1. HFS+, которая является усовершенствованной версией HFS, ранее применяемой на компьютерах Macintosh, и ее более соверешенный аналог APFS. Стандарт HFS+ используется во всех устройствах под управлением продуктов Apple, включая компьютеры Mac, iPod, а также Apple X Server.
  2. Кластерная файловая система Apple Xsan, созданная из файловых систем StorNext и CentraVision, используется в расширенных серверных продуктах. Эта файловая система хранит файлы и папки, информацию Finder о просмотре каталогов, положениях окна и т.д.

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

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

Файловая система Линукс

Основные файловые системы, используемые в дистрибутивах Linux:

Ext2, Ext3, Ext4 или Extended Filesystem – стандартная файловая система, первоначально разработанная еще для Minix. Содержит максимальное количество функций и является наиболее стабильной в связи с редкими изменениями кодовой базы. Начиная с ext3 в системе используется функция журналирования. Сегодня версия ext4 присутствует во всех дистрибутивах Linux.

JFS или Journaled File System разработана в IBM в качестве альтернативы для файловых систем ext. Сейчас она используется там, где необходима высокая стабильность и минимальное потребление ресурсов (в первую очередь в многопроцессорных компьютерах). В журнале хранятся только метаданные, что позволяет восстанавливать старые версии файлов после сбоев.

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

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

Btrfs или B-Tree File System легко администрируется, обладает высокой отказоустойчивостью и производительностью. Используется как файловая система по умолчанию в OpenSUSE и SUSE Linux.

Другие ФС, такие как NTFS, FAT, HFS, могут использоваться в Linux, но корневая файловая система на них не устанавливается, поскольку они для этого не предназначены.

Дополнительные файловые системы

В операционных системах семейства Unix BSD (созданы на базе Linux) и Sun Solaris чаще всего используются различные версии ФС UFS (Unix File System), известной также под названием FFS (Fast File System). В современных компьютерных технологиях данные файловые системы могут быть заменены на альтернативные: ZFS для Solaris, JFS и ее производные для Unix.

Кластерные файловые системы включают поддержку распределенных хранилищ, расширяемость и модульность. К ним относятся:

  • ZFS – «Zettabyte File System» разработана для распределенных хранилищ Sun Solaris OS;
  • Apple Xsan – эволюция компании Apple в CentraVision и более поздних разработках StorNext;
  • VMFS (Файловая система виртуальных машин) разработана компанией VMware для VMware ESX Server;
  • GFS – Red Hat Linux именуется как «глобальная файловая система» для Linux;
  • JFS1 – оригинальный (устаревший) дизайн файловой системы IBM JFS, используемой в старых системах хранения AIX.

Практический пример использования файловых систем

Владельцы мобильных гаджетов для хранения большого объема информации используют дополнительные твердотельные накопители microSD (HC), по умолчанию отформатированные в стандарте FAT32. Это является основным препятствием для установки на них приложений и переноса данных из внутренней памяти. Чтобы решить эту проблему, необходимо создать на карточке раздел с ext3 или ext4. На него можно перенести все файловые атрибуты (включая владельца и права доступа), чтобы любое приложение могло работать так, словно запустилось из внутренней памяти.

Операционная система Windows не умеет делать на флешках больше одного раздела. С этой задачей легко справится Linux, который можно запустить, например, в виртуальной среде. Второй вариант - использование специальной утилиты для работы с логической разметкой, такой как MiniTool Partition Wizard Free . Обнаружив на карточке дополнительный первичный раздел с ext3/ext4, приложение Андроид Link2SD и аналогичные ему предложат куда больше вариантов.

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

Флешки и карты памяти быстро умирают как раз из-за того, что любое изменение в FAT32 вызывает перезапись одних и тех же секторов. Гораздо лучше использовать на флеш-картах NTFS с ее устойчивой к сбоям таблицей $MFT. Небольшие файлы могут храниться прямо в главной файловой таблице, а расширения и копии записываются в разные области флеш-памяти. Благодаря индексации на NTFS поиск выполняется быстрее. Аналогичных примеров оптимизации работы с различными накопителями за счет правильного использования возможностей файловых систем существует множество.

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

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

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

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

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

Файловая система(ФС) – это часть операционной системы, включающая:

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

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

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

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

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

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

 программный интерфейс для приложений;

 отображение логической модели файловой системы на физическую организацию хранилища данных;

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

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

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

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

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

Обычные файлы, или просто файлы, содержат информацию произвольного характера, которую заносит в них пользователь или которая образуется в результате работы системных и пользовательских программ. Большинство современных операционных систем (например, UNIX, Windows, OS/2) никак не ограничивает и не контролирует содержимое и структуру обычного файла. Содержание обычного файла определяется приложением, которое с ним работает. Например, текстовый редактор создает текстовые файлы, состоящие из строк символов, представленных в каком-либо коде. Это могут быть документы, исходные тексты программ и т.д. Текстовые файлы можно прочитать на экране и распечатать на принтере. Двоичные файлы не используют коды символов, они часто имеют сложную внутреннюю структуру, например исполняемый код программы или архивный файл. Все операционные системы должны уметь распознавать хотя бы один тип файлов – их собственные исполняемые файлы.

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

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

Статьи к прочтению:


Похожие статьи:

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

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

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

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

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

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

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

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

  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).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Типы файлов

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Анатолий Бузов

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

Читайте также: