Функции файловой системы
Файловая система - это компонент ОС, который отвечает за сохранение данных в массовую память (жёсткий диск, флеш-память, оптические носители, и т.д.).
Основными задачами файловой системы являются:
· Хранение информации
· Структурирование файлов
· Обеспечение прав доступа к данным
· Защита данных
· Создание однородной среды для разных носителей информации
Объектами файловой системы являются файлы и каталоги. Файл хранит информацию; он удобен в использовании программистам и является той единицей, которой ОС может назначить права доступа.
Каталоги содержат файлы и подкаталоги и позволяют пользователю о ОС удобно организовывать файлы в иерархическую структуру.
Каталог это таблица, в которой есть по одной записи для каждого находящегося в каталоге файла или подкаталога. Структура записи каталога зависит от файловой системы. Обычно запись содержит имя файла (или подкаталога) и связанную с файлом информацию, такую как атрибуты, или информацию, необходимую для считывая содержимого файла из массовой памяти.
Каталоги обычно организованы в древовидную структуру. У дерева есть корневой каталог (в системах Unix обозначается символом "/"), а другие каталоги являются ветвями корневого каталога (если содержатся непосредственно в нём), или исходят из корневого каталога. Следовательно, за исключением корневого каталога, и каждого файла или каталога есть старший каталог, т.е. каталог, к которому он относится.
Рисунок 2. Дерево файловой системы
Файловая система ставит в соответствие абстрактную модель файлов и каталогов и их действительное расположение на диске, для чего ведёт соответствующую инфраструктуру. Эти структуры содержат информацию, необходимую для поиска файлов и каталогов на диске. Данные на массовых носителях информации хранятся секторами. В задачу файловой системы входит организовывать секторы в файлы и каталоги, а также вести учёт того, какие секторы заняты, а какие свободны. В более новых ёмких массовых носителях единицы информации, используемые для хранения файлов, имеют ещё больший размер.
Современные файловые системы адресуют данные через структуры фиксированного размера, такие как блок (Block) или кластер (Cluster). Такие единицы могут хранить в разы больше данных, чем сектор, и как правило являются наименьшими единицами хранения данных в файловой системе. Если размер файла меньше единицы данных, то под него всё равно выделяется целая единица. Чтение данных большими блоками быстрее, что положительно сказывается на скорости обмена данных.
Ниже перечислены распространённые файловые системы, используемые для хранения данных на массовых носителях:
· FAT (File Allocation Table) поддерживается ОС Microsoft. Из-за существенных ограничений, таких как отсутствие безопасности, ограничения имени и размера файлов, FAT применяется преимущественно на сменных (Removable) носителях. В этих же целях применяется и новая версия этой файловой системы - exFAT (Extennded FAT), которая является преемников системы FAT32. Если в FAT32 размер файла описывался 32 битами, то exFAT 64 битами. Размер тома (Volume) массового носителя ограничен 2ТБ в FAT32 и 512ТБ в exFAT.
· NTFS (New Technology File System) - это современная файловая система от Mirosoft. Файлы хранятся в кластерах размером по умолчанию 4кБ. NTFS сохраняет все объекты файловой системы в структуры по тиму базы данных - Master File Table (MFT). NTFS ведёт лог транзакций для каждого тома, т.е. сохранение в базу данных изменений файловой системы происходит не сразу, а постепенно. Ведение лога позволяет восстановить файловую систему после сбоя системы. Помимо этого, лог изменений может быть использован различными приложениями, такими как индексирование файловой системы, репликация данных, резервное копирование, сканеры вирусов итд.
· EXT4 (Fourth Extended Fiel System) - широко применяемая в ОС Linux файловая система, являющаяся развитием предыдущих версий. EXT4 поддерживает лог транзакций, тома большого размера и обладает улучшенными показателя производительности.
Контрольные вопросы и задания:
1.Что такое файловая система?
2.Опишите основные задачи системы управления файлами
3.Изобразите в графическом виде архитектуру файловой системы
4.Типы файлов. Смешанный файл
5.Типы файлов. Последовательный файл
6.Типы файлов. Индексно-последовательный файл
7.Типы файлов. Индексированный файл
8.Типы файлов. Файл прямого доступа (хешированный)
9.Что такое каталог. Основное назначение каталогов?
10.Зарисуйте дерево файловой системы
11.Дайте сравнительную характеристику основным файловым системам. (Оформить в виде таблицы)