Тарифы Услуги Сим-карты

За что отвечает файловая система. Что такое файловая система? Какие виды файловых систем существуют? Имена файлов и каталогов в разных системах

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

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

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

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

Программа, управляющая конкретной моделью внешнего устройства и учитывающая все его особенности, обычно называется драйвером этого устройства (от английского drive - управлять, вести). Драйвер может управлять единственной моделью устройства, например модемом U-1496E компании ZyXEL, или же группой устройств определенного типа, например любыми Hayes-совместимыми модемами. Для пользователя очень важно, чтобы операционная система включала как можно больше разнообразных драйверов, так как это гарантирует возможность подключения к компьютеру большого числа внешних устройств различных производителей. От наличия подходящих драйверов во многом зависит успех операционной системы на рынке (например, отсутствие многих необходимых драйверов внешних устройств было одной из причин низкой популярности OS/2).



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

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

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

Задачи ОС по управлению файлами и устройствами

Подсистема ввода-вывода (Input-Output Subsystem) мультипрограммной ОС при обмене данными с внешними устройствами компьютера должна решать ряд общих задач, из которых наиболее важными являются следующие:

Организация параллельной работы устройств ввода-вывода и процессора;

Согласование скоростей обмена и кэширование данных;

Разделение устройств и данных между процессами;

Обеспечение удобного логического интерфейса между устройствами и остальной частью системы;

Поддержка широкого спектра драйверов с возможностью простого включения в систему нового драйвера;

Поддержка нескольких файловых систем;

Поддержка синхронных и асинхронных операций ввода-вывода.

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

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

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

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

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

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

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

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

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

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

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

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

Именование файлов;

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

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

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

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

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

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

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

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

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

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

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

Рисунок 2.16. Иерархия файловых систем (а – одноуровневая структура, б – древовидная структура, в – сетевая структура)

Граф, описывающий иерархию каталогов, может быть деревом или сетью. Каталоги образуют дерево, если файлу разрешено входить только в один каталог (рисунок 2.16, б), и сеть - если файл может входить сразу в несколько каталогов (рисунок 2.16, в). Например, в MS-DOS и Windows каталоги образуют древовидную структуру, а в UNIX - сетевую. В древовидной структуре каждый файл является листом. Каталог самого верхнего уровня называется корневым каталогом , или корнем (root).

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

Частным случаем иерархической структуры является одноуровневая организация, когда все файлы входят в один каталог (рисунок 2.16, а).

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

Простое, или короткое, символьное имя идентифицирует файл в пределах одного каталога. Простые имена присваивают файлам пользователи и программисты, при этом они должны учитывать ограничения ОС как на номенклатуру символов, так и на длину имени. До сравнительно недавнего времени эти границы были весьма узкими. Так, в популярной файловой системе FAT длина имен ограничивались схемой 8.3 (8 символов - собственно имя, 3 символа - расширение имени), а в файловой системе s5, поддерживаемой многими версиями ОС UNIX, простое символьное имя не могло содержать более 14 символов. Однако пользователю гораздо удобнее работать с длинными именами, поскольку они позволяют дать файлам легко запоминающиеся названия, ясно говорящие о том, что содержится в этом файле. Поэтому современные файловые системы, а также усовершенствованные варианты уже существовавших файловых систем, как правило, поддерживают длинные простые символьные имена файлов. Например, в файловых сиетемах NTFS и FAT32, входящих в состав операционной системы Windows NT, имя файла может содержать до 255 символов.

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

Полное имя представляет собой цепочку простых символьных имен всех каталогов, через которые проходит путь от корня до данного файла. Таким образом, полное имя является составным, в котором простые имена отделены друг от друга принятым в ОС разделителем. Часто в качестве разделителя используется прямой или обратный слеш, при этом принято не указывать имя корневого каталога. На рисунке 2.16, б два файла имеют простое имя main.exe, однако их составные имена /depart/main.ехе и /user/anna/main.exe различаются.

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

Файл может быть идентифицирован также относительным именем. Относительное имя файла определяется через понятие «текущий каталог». Для каждого пользователя в каждый момент времени один из каталогов файловой системы является текущим, причем этот каталог выбирается самим пользователем по команде ОС. Файловая система фиксирует имя текущего каталога, чтобы затем использовать его как дополнение к относительным именам для образования полного имени файла. При использовании относительных имен пользователь идентифицирует файл цепочкой имен каталогов, через которые проходит маршрут от текущего каталога до данного файла. Например, если текущим каталогом является каталог /user, то относительное имя файла /user/anna/main.exe выглядит следующим образом: anna/ main.exe.

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

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

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

Тип файла (обычный файл, каталог, специальный файл и т. п.);

Владелец файла;

Создатель файла;

Пароль для доступа к файлу;

Информация о разрешенных операциях доступа к файлу;

Времена создания, последнего доступа и последнего изменения;

Текущий размер файла;

Максимальный размер файла;

Признак «только для чтения»;

Признак «скрытый файл»;

Признак «системный файл»;

Признак «архивный файл»;

Признак «двоичный/символьный»;

Признак «временный» (удалить после завершения процесса);

Признак блокировки;

Длина записи в файле;

Указатель на ключевое поле в записи;

Длина ключа.

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

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

Значения атрибутов файлов могут непосредственно содержаться в каталогах, как это сделано в файловой системе MS-DOS (рисунок 2.17, а). На рисунке представлена структура записи в каталоге, содержащая простое символьное имя и атрибуты файла. Здесь буквами обозначены признаки файла: R - только для чтения, А - архивный, Н - скрытый, S - системный.

Рисунок 2.17. Структура каталогов: а - структура записи каталога MS-DOS (32 байта), б - структура записи каталога ОС UNIX

Другим вариантом является размещение атрибутов в специальных таблицах, когда в каталогах содержатся только ссылки на эти таблицы. Такой подход реализован, например, в файловой системе ufs ОС UNIX. В этой файловой системе структура каталога очень простая. Запись о каждом файле содержит короткое символьное имя файла и указатель на индексный дескриптор файла, так называется в ufs таблица, в которой сосредоточены значения атрибутов файла (рисунок 2.17, б).

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

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

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

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

Рисунок 2.18. Схема устройства жесткого диска

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

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

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

Рисунок 2.19. Считывание избыточных данных при обмене с диском

Операционная система при работе с диском использует, как правило, собственную единицу дискового пространства, называемую кластером (cluster). При создании файла место на диске ему выделяется кластерами. Например, если файл имеет размер 2560 байт, а размер кластера в файловой системе определен в 1024 байта, то файлу будет выделено на диске 3 кластера.

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

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

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

Прежде чем форматировать диск под определенную файловую систему, он может быть разбит на разделы. Раздел - это непрерывная часть физического диска, которую операционная система представляет пользователю как логическое устройство (используются также названия логический диск и логический раздел). Логическое устройство функционирует так, как если бы это был отдельный физический диск. Именно с логическими устройствами работает пользователь, обращаясь к ним по символьным именам, используя, например, обозначения А, В, С, SYS и т. п. Операционные системы разного типа используют единое для всех них представление о разделах, но создают на его основе логические устройства, специфические для каждого типа ОС. Так же как файловая система, с которой работает одна ОС, в общем случае не может интерпретироваться ОС другого типа, логические устройства не могут быть использованы операционными системами разного типа. На каждом логическом устройстве может создаваться только одна файловая система .

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

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

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

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

На каждом компьютерном устройстве применим особый тип ФС. Особо распространенные следующие ее типы:

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

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

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

В зависимости от того какие свойственные особенности присущи системе, с такими данными она и будет эффективно работать. А это и есть предпосылкой классификации ее на типы и виды.

Взгляд на файловую систему с точки зрения программирования

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

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

Ниже мы рассмотрим все существующие на сегодня ФС и их достоинства и недостатки.

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

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

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

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

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

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

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

NTFS
С операционкой ОС Windows NT работает современная файловая система NTFS, в принципе на нее она и была нацелена. В ее составе действует утилита convert, которая отвечает за конвертацию томов с формата HPFS или FAT, в формат томов NTFS.

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

Эта файловая система позволяет создавать информационные файлы с именами длинной в 255 символов.

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

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

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

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

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

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

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

UDF
Это файловая система для оптических дисков, котрая имеет свои особенности:

Наименования файлов не должны превышать 255 символов;
- именной регистр может быть как нижним, так и верхним.

Работает она с операционкой Windows XP.

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

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

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

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

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

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

Файловая система – это система управления данными.

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

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

Файловая система (назначение):

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

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

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

Используется древовидная структура каталогов – дерево каталогов . Заимствована у Unix. Иерархическая структура – структура системы, части (компоненты) которой связаны отношениями включения или подчинения.

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

дерево каталогов диска G

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

Деревья используются при описании и проектировании иерархических структур.

Корень – начальная позиция, листья – заключительная позиция.

Разделы

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

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

Имя диска – обозначение логического диска; запись в корневом каталоге.

Логические диски (разделы) обозначаются латинскими буквами A, B, C, D, E, … (32 буквы от A до Z).

Буквы A, B зарезервированы для обозначения дискет.

С – жесткий диск, обычно с которого производится загрузка ОС.

Остальные буквы – логические диски, компакт-диски и т.д. Максимальное количество логических дисков для ОС Windows – бесконечное.

В таблице разделов указывается расположение начала и конца этого раздела и число секторов в этом разделе (место и размер).

Файловая структура логического диска

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

Элементы файловой структуры:

    стартовый сектор (начальной загрузки, Boot-сектор);

    таблица размещения файлов (FAT – File Allocation Table);

    корневой каталог (Root Directory);

    область данных (оставшееся свободным дисковое пространство).

Boot -сектор

Boot -сектор – первый (начальный) сектор диска. Находится на 0- стороне, 0-дорожке.

Boot-сектор содержит служебную информацию:

    размер кластера диска (кластер – блок, объединяющий в группу несколько секторов для сокращения размера FAT-таблицы);

    местоположение FAT-таблицы (в вoot-секторе находится указатель на то, где расположена FAT-таблица);

    размер FAT-таблицы;

    количество FAT-таблиц (всегда есть как минимум 2 копии таблицы для обеспечения надежности и безопасности, т.к. разрушение FAT ведет к потере информации и трудно восстанавливается);

    адрес начала корневой директории и ее максимальный размер.

В вoot-секторе находится блок начальной загрузки (загрузчик) – загрузочная запись Boot Record.

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

FAT (таблица размещения файлов)

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

FAT – это массив элементов, адресующих кластеры области данных диска. Каждому кластеру области данных соответствует один элемент FAT. Элементы FAT служат в качестве цепочки ссылок на кластеры файла в области данных.

Структура таблицы размещения файлов:

FAT состоит из элементов длиной 16 /32/64 бита. Всего в таблице может быть до 65520 таких элементов, каждый из них (кроме первых двух) соответствует кластеру диска. Кластер является той единицей, в которой распределяется пространство в области данных на диске для файлов и каталогов. Первые два элемента таблицы (с номерами 0 и 1) зарезервированы, а каждый из остальных элементов таблицы описывает состояние кластера диска с тем же номером. Элемент может указывать, что кластер свободен, что кластер дефектный, что кластер принадлежит файлу и является последним кластером в файле. Если кластер принадлежит файлу и не является его последним кластером, то элемент таблицы содержит номер следующего кластера в этом файле.

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

Для разных ОС необходимы разные версии FAT

Windows 95 FAT 16, FAT 32

Windows NT (XP) NTFS

Novell Netware TurboFAT

UNIX NFS,ReiserFS

Логическая структура носителя информации

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

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

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

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



Как работает файловая система. Для каждого файла Windows создает путь, представляющий собой имя локального диска и названия каталогов и подкаталогов. Таким образом, путь – это своего рода адрес, по которому программа находит файл. Путь к некоторым полезным файлам вы найдете во врезке внизу. Когда программе требуется определенный файл, она посылает Windows запрос, который операционная система перенаправляет файловой системе. Используя путь, файловая система определяет физическое расположение объекта на жестком диске и передает его Windows. Файловая система создает базу данных, которая привязывает различные адреса файлов на жестком диске к соответствующим путям. В популярной файловой системе NTFS подобная база данных называется MFT (Master File Table – главная файловая таблица).

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

Рис. 3.8. Копирование файлов

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

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

Какие существуют файловые системы. В компьютерах используются пять типов файловых систем.

FAT16 (File Allocation Table 16). Была разработана в 1983 году и могла корректно работать только с файлами размером до 2 Гб. Допускалось использование накопителей данных емкостью не более 4 Гб и хранение не более 65 536 файлов. В настоящее время эту устаревшую файловую систему заменили FAT32 и NTFS.

FAT32. В связи с тем, что объемы данных, которые хранились на жестком диске, постоянно росли, в 1997 году была введена фай­ловая система FAT32. Она поддерживает файлы размером не более 4 Гб, жесткие диски емкостью приблизительно до 8 Тб и позволяет хранить около 270 млн файлов. Помимо Windows 95 и выше файловую систему FAT32 могут использовать также и другие операционные системы, например Mac OS X от Apple. В настоящее время средний размер файла значительно увеличился – так, объем видеофильма много больше 4 Гб, поэтому FAT32 имеет смысл использовать только на сменных накопителях (флэшках или внешних жестких дисках).

NTFS (New Technology File System). В настоящее время это стандартная файловая система для Windows. Она может управлять файлами с немыслимым до настоящего времени размером в 16 Тб и поддерживает жесткие ди­ски емкостью до 256 Тб. Файловая система позволяет хранить практически неограниченное количество файлов – более 4 млрд. На случай, если будут использоваться файлы больших размеров и жесткие диски большей емкости, функции NTFS можно расширить. Еще одним преимуществом системы является журналирование. С помощьюданной технологии все изменения файлов NTFS записывает вначале в отдельную область на жестком диске. Это позволяет избежать потери данных в процессе их сохранения, например при возникновении перебоя в подаче электроэнергии.

exFAT (Extended File Allocation Table). Была создана для карт памяти, чтобы обеспечить возможность сохранения файлов большего размера. Однако exFAT ра­ботает только в Windows с пакетом обновления ServicePack 2 и выше, в Windows Vista с пакетом обновления ServicePack 1 или в Windows 7. Поскольку данную файловую систему поддерживает только Windows, она практически не применяется.

HSF+ (Hierarchical File System+). Стандартная файловая система в операционных системах Mac OS. Как и NTFS, она подходит для работы с очень большими файлами и жесткими дисками. Это журналируемая файловая система. Тому, кто захочет использовать в Windows жесткий диск с HSF+, необходимо установить дополнительную программу, например MacDrive.

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

Рис. 3.9. Операции над файлами

Можно ли изменить файловую систему. Да, но для этого необходимо отформатировать жесткий диск. Какие файловые системы будут предлагаться на выбор, зависит от установлвенной операционной системы или программы, с помощью которой выполняется форматирование. В Windows, например, это FAT32 и NTFS. При использовании жесткого диска исключительно в компьютерах на базе Windows рекомендуется ввиду всех перечисленных достоинств в качестве файловой системы выбрать NTFS. Если в целях обмена данными вы планируете подключать внешний жесткий диск к компьютеру Mac, единственно правильным выбором станет FAT32. При этом возникает следующая проблема: хотя при использовании FAT32 Windows может работать с жесткими дисками любой емкости, однако в процессе форматирования максимальный размер раздела или жесткого диска ограни­чивается ею до 32 Гб. Выход: с помощью программ для работы с жесткими дисками, такими как Paragon Disk Manager, удастся отформатировать весь жесткий диск в FAT32.

Что такое библиотеки. В Windows 7 появилась дополнительная функция управления файлами – библиотеки. Доступны четыре типа библиотек: Видео, Документы, Изображения и Музыка. Они показывают все файлы соответствующего типа в одной папке, независимо от их местоположения. И хотя файлы физически располагаются не в папках библиотек, с ними можно выполнять любые операции, будь то копирование, переименование и удаление, непосредственно в соответствующей библиотеке. Некоторые программы, среди них Picasa, также используют библиотеки для рационального размещения файлов. Они могут даже самостоятельно выполнять поиск изображений или других файлов на жестком диске.

Как программы получают доступ к данным. Все программы, которые хотят получить доступ к жесткому диску, вначале посылают Windows запрос, содержащий путь размещения файла. Затем операционная система направляет его таблице файловой системы. В этой таблице содержится физический адрес файла, по которому его можно найти на жестком диске. С помощью данного адреса файловая система отыскивает нужный файл и передает операционной системе. Windows соотносит полученный файл с соответ­ствующим запросом и посылает его программе, которая направила запрос. После этого программа открывает файл, например в программе Microsoft Word, предоставляя, таким образом, возможность его редактирования. При каждом последующем изменении файла, например при сохранении или удалении, программа инициирует новый запрос.

Рис. 3.10. Организация доступа к данным

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

Рис. 3.11. Работа с файловой системой