Общая архитектура современной файловой системы. Совместимость файловых систем для различных ОС.
Рис. 12.14. Архитектура современной файловой системы
В широком смысле понятие "файловая система" включает:
· совокупность всех файлов на диске,
· наборы служебных структур данных, используемых для управления файлами, такие как, например, каталоги файлов, дескрипторы файлов, таблицы распределения свободного и занятого пространства на диске,
· комплекс системных программных средств, реализующих управление файлами, в частности операции по созданию, уничтожению, чтению, записи, именованию файлов, установке атрибутов и уровней доступа, поиску и т.д.
Различие между файловыми системами заключается, в основном, в способах распределения пространства между файлами на диске и организации на диске служебных областей.
Современные операционные системы стремятся обеспечить пользователя возможностью работать одновременно с несколькими файловыми системами. В этом случае ФС рассматривается как часть подсистемы ввода-вывода. В большинстве операционных систем (Windows 95, NT, OS/2) реализуется механизм переключения файловых систем (File System Switch, FSS), позволяющий поддерживать различные типы ФС.
В соответствии с этим подходом информация о файловых системах и файлах разбивается на две части – зависимую от ФС и не зависимую. FSS обеспечивает интерфейс между ядром и файловой системой, транслируя запросы ядра в операции, зависящие от типа файловой системы. При этом ядро имеет представление только о независимой части ФС.
Файловая система представляет многоуровневую структуру, на верхнем уровне которой располагается так называемый переключатель файловых систем (в Windows, такой переключатель называется устанавливаемым диспетчером файловой системы - installable filesystem manager, IFS). Он обеспечивает интерфейс между приложением и конкретной файловой системой, к которой обращается приложение. Переключатель файловых систем преобразует запросы к файлам в формат, воспринимаемый следующим уровнем - уровнем драйверов файловых систем. Для выполнения своих функций драйверы файловых систем обращаются к драйверам конкретных устройств хранения информации.
|
Файловая система. Её назначение. Файл. Тип файлов.
Фа́йловая систе́ма — порядок, определяющий способ организации, хранения и именования данных на носителях информации в компьютерах, а также в другом электронном оборудовании: цифровых фотоаппаратах, мобильных телефонах и т. п. Файловая система определяет формат содержимого и способ физического хранения информации, которую принято группировать в виде файлов. Конкретная файловая система определяет размер имен файлов и (каталогов), максимальный возможный размер файла и раздела, набор атрибутов файла. Некоторые файловые системы предоставляют сервисные возможности, например, разграничение доступа или шифрование файлов.
Основные функции любой файловой системы нацелены на решение следующих задач:
· именование файлов;
· программный интерфейс работы с файлами для приложений;
· отображения логической модели файловой системы на физическую организацию хранилища данных;
· организация устойчивости файловой системы к сбоям питания, ошибкам аппаратных и программных средств;
|
· содержание параметров файла, необходимых для правильного его взаимодействия с другими объектами системы (ядро, приложения и пр.).
В многопользовательских системах появляется ещё одна задача: защита файлов одного пользователя от несанкционированного доступа другого пользователя, а также обеспечение совместной работы с файлами, к примеру, при открытии файла одним из пользователей, для других этот же файл временно будет доступен в режиме «только чтение».
Бывают:
· для жестких дисков;
· для оптических CD дисков;
· для магнитных лент, (кассет);
· для флеш-накопителей;
· сетевая файловая система.
Файл (англ. file) — именованная область данных на носителе информации.
Работа с файлами реализуется средствами операционных систем. Многие операционные системы приравнивают к файлам и обрабатывают сходным образом и другие ресурсы:
· области данных (необязательно на диске);
· устройства — как физические, например, порты или принтеры, так и виртуальные (/dev/null, /dev/random, /dev/urandom);
· потоки данных (именованный канал);
· сетевые ресурсы, сокеты;
· прочие объекты операционной системы.
Типы файлов
По способу организации файлы делятся на файлы с произвольным доступом и файлы с последовательным доступом.
В различных операционных и файловых системах могут быть реализованы различные типы файлов, кроме того, реализация различных типов может различаться.
· «Обыкновенный файл» — файл, позволяющий операции чтения, записи, позиционирования внутри файла, изменения размера, иногда работу с атрибутами.
|
· Каталог (англ. directory — алфавитный справочник) или директория (также «папка») — файл, содержащий записи о входящих в него файлах. Каталоги могут содержать записи о других каталогах, образуя древовидную структуру, а при наличии ссылок — сетевую структуру.
· Жёсткая ссылка (англ. hardlink, часто используется калька «хардлинк») — в общем случае, одна и та же область информации может иметь несколько имён. Такие имена называют жёсткими ссылками (хардлинками). После создания жёсткой ссылки сказать где «настоящий» файл, а где жёсткая ссылка невозможно, так как имена равноправны. Сама область данных существует до тех пор, пока существует хотя бы одно из имён. Жёсткие ссылки возможны только в пределах одного экземпляра ФС.
· Символьная ссылка (симлинк, софтлинк, символическая ссылка) — файл, содержащий в себе ссылку на имя нужного файла любого типа. Может ссылаться на любой элемент файловой системы, в том числе, и расположенный на другом физическом носителе. В некоторых ФС может ссылаться на несуществующий файл, образовывать циклы, ссылаться на себя.
19 и 17 вопросы идентичны. J